Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- # función de cada tirada de cada dado
- def tirada(caras):
- sale = random.randint(1, caras)
- return sale
- # evitamos que explote el programa cuando meten números negativos o letras
- def real_positivo(dados_caras): # dados caras sólo indica el parámetro del que hablar
- while True: # bucle infinito hasta que meta un valor válido
- numero = input(f'''
- ¿De qué número de {dados_caras} estaríamos hablando?
- ''')
- if numero[0] == '-' and numero[1:].isdigit():
- print(f'''
- Cuidado, un número negativo de {dados_caras} rompería el espacio-tiempo.''')
- elif numero.isdigit():
- numero = int(numero)
- if numero > 0:
- return numero
- else:
- print(f'''
- Poco vamos a hacer con 0 {dados_caras}''')
- else:
- print('''
- Eso va a ser que no es un número entero positivo''')
- caras, dados = 6 ,1 # establecemos por defecto 6 caras y 1 dado
- while True: # bucle infinito hasta que el usuario quiera dejar de usar los dados
- menu = input(f'''
- M U L T I D A D O
- 1. Dados | 2. Caras | 3. Tirada | 4. Salir
- === Dados {dados}, caras {caras}
- Elige: ''')
- if menu == '1':
- dados = real_positivo('dados')
- print('''
- === Configurado ===''')
- elif menu == '2':
- caras = real_positivo('caras')
- print('''
- === Configurado ===''')
- elif menu == '3':
- suma = 0 # arriba junto con las demás supondría reiniciarlo debajo en cada fin de 3
- for cada in range(1, dados + 1):
- resultado = tirada(caras)
- suma = suma + resultado
- print(f'''
- Dado {cada} > saca {resultado}''')
- print(f'''
- Total de la tirada: {suma}''')
- elif menu == '4':
- break
- else:
- print('''
- === Eso no es una opción del menú ===''')
Advertisement
Add Comment
Please, Sign In to add comment