Pregunta de noob.
Me da un fallo al crear el juego del ahorcado en python. Aquí está el código.
He seguido un tutorial de youtube.
import random
import os
palabras = ["AZUCAR", 'CHOCOLATE', 'COCODRILO']
palabra = random.choice(palabras)
#Fallos
fallo0 = '''
___________
| |
|
|
|
|
|
-------------
'''
fallo1 = '''
___________
| |
| 0
|
|
|
|
-------------
'''
fallo2 = '''
___________
| |
| 0
| |
| |
|
|
-------------
'''
fallo3 = '''
___________
| |
| 0
| ---|
| |
|
|
-------------
'''
fallo4 = '''
___________
| |
| 0
| ---|---
| |
|
|
-------------
'''
fallo5 = '''
___________
| |
| 0
| ---|---
| |
| /
|
-------------
'''
fallo6 = '''
___________
| |
| 0
| ---|---
| |
| / \
|
-------------
'''
letras_correctas = ""
letras_todas = ""
fallos = 0
while True:
os.system("clear")
print ('++++++++++JUEGO DEL AHORCADO+++++++++++')
print ('++++++++++JUEGO DEL AHORCADO+++++++++++')
print ('++++++++++JUEGO DEL AHORCADO+++++++++++')
if fallos == 0:
print (fallo0)
elif fallos == 1:
print (fallos1)
elif fallos == 2:
print (fallo2)
elif fallos == 3:
print (fallo3)
elif fallos == 4:
print (fallo4)
elif fallos == 5:
print (fallo5)
elif fallos == 6:
print (fallo6)
#Palabras acertadas y palabras no acertadas
resultado = ''
for letra in palabra:
if letra in letras_correctas:
resultado += letra
else:
resultado += "_"
print (' {}'.format(resultado))
print("")
print("")
#Comprobamos si se ha acertado la palabra (si el resultado es igual a palabra)
if resultado == palabra:
print ("+++++++++++++++ HAS GANADO +++++++++++++++++")
break
if fallos > 5:
print ("La palabra era: ", palabra)
print ("+++++++++++ HAS PERDIDO ++++++++++++++")
break
#Bucle INPUT
while True:
letra_introducida = input("Escribe una letra para comenzar el juego: ")
letra_usuario = letra_introducida.upper()
if len (letra_usuario) < 1 or len (letra_usuario) > 1:
print ("Introduzca una sola letra: ")
elif letra_usuario in letras_todas:
print ("Ya has dicho esa letra")
elif not letra_usuario.isalpha():
print ("Escriba una letra")
else:
letras_todas += letra_usuario
break
#Comprobando si la letra introducida esta en la palabra elegida
if letra_usuario not in palabra:
fallos += 1
else:
letras_correctas += letra_usuario
Cuando lo ejecuto y escribo una letra me aparece el error ""letra" is not defined"
Error:
Traceback (most recent call last):
File "ahorcado.py", line 150, in <module>
letra_introducida = input("Escribe una letra para comenzar el juego: ")
File "<string>", line 1, in <module>
NameError: name 'c' is not defined
Cuál es el problema???
"En este video llevamos a cabo la codificación del juego del ahorcado. Y lo hacemos utilizando cadenas de caracteres como el tipo de datos donde guardamos las palabras y las letras que dice el usuario."
"RETO PARA RESOLVER:
Volver a llevar a cabo la codificación del juego del ahorcado, pero esta vez utilizar listas como tipo de datos donde guardar la palabra y las letras, en vez de cadenas de caracteres"