Terminé el super ahorcado, lo podéis ver en pastebin o en continúa leyendo. Me queda pendiente decidir qué hacer con las palabras acentuadas en el modo pvp y si voy a dar como opción insertar frases. Me produce curiosidad cómo convertir los espacios en algún tipo de bloque. Ha sido súper divertido, aunque creo que me he empantanado ahí dentro algo de más. Ahora toca seguir hacia delante.
Categoría: python
listas anidadas
Las listas se pueden anidar hasta el infinito y más allá.
hola = 'saludo salido terciario nacido' .split()
torna = 'dumba etna locura principio' .split()
silencio = 'soldado fraguado lenguado' .split()
macaco = 'guardapolvo fresado basurilla nacido' .split()
monte = [hola, torna]
tardo = [silencio, macaco]
supra = [monte, tardo]
print(hola)
print(torna)
print(silencio)
print(macaco)
print(monte)
print(tardo)
print(supra)
for i in hola:
print(i)
for i in supra:
print(i)
print(hola, supra)
Y eso acaba de hacer que me explote la cabeza (aunque no debería, pero está bien que lo haga, más hype).
multi dado
¡Qué bien sienta que me empiecen a salir estas cositas, por muy básicas que sean!
Me estaba preguntando si podría hacer un multi dado en el que poder elegir tanto el número de dados como el número de caras. Es una tontada, pero me ha alegrado el día.
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ú ===''')