Luca Cristian Manea
Preguntame da un error en el array (fuera de rango, pero no puedo solucionarlo)
Traceback (most recent call last):
File “ahorcado.py”, line 121, in <module>
run()
File “ahorcado.py”, line 101, in run
show_board(hidden_word, tries)
File “ahorcado.py”, line 77, in show_board
print(IMAGEN[tries])
IndexError: list index out of range
<code>
mport random
IMAGEN = [’’’
±–+
| |
|
|
|
|
=========’’’, ‘’’
±–+
| |
O |
|
|
|
=========’’’, ‘’’
±–+
| |
O |
| |
|
|
=========’’’, ‘’’
±–+
| |
O |
/| |
|
|
=========’’’, ‘’’
±–+
| |
O |
/|\ |
|
|
=========’’’, ‘’’
±–+
| |
O |
/|\ |
/ |
|
=========’’’, ‘’’
±–+
| |
O |
/|\ |
/ \ |
|
=========’’’]
WORDS = [
“politicos”,
“chorros”,
“pokemon”,
“digimon”,
“greninja”,
“charizard”
]
defrandom_word():
index = random.randint(0, len(WORDS) -1)
return WORDS[index]
defshow_board(hidden_word, tries):
print(IMAGEN[tries])
print("")
print(hidden_word)
print("— * — * — * — * — * — * ")
defrun():
word = random_word()
hidden_word = ["-"] * len(word)
tries = 0
whileTrue: show_board(hidden_word, tries) current_letter = str(raw_input("Escoge una letra ")) letter_index = [] tries = 0 for index in range(len(word)): if word[index] == current_letter: letter_index.append(index) if len(letter_index) == 0: tries +=1 if tries == 7: show_board(hidden_word, tries) print("") print("Perdiste! la palabra correct era {}".format(word)) break else: for index in letter_index: hidden_word[index] = current_letter letter_index = [] try: hidden_word.index('-') except ValueError: print('') print('Felicidades! Ganaste. La palabra es: {}'.format(word)) break
if name == ‘main’:
print(“B I E N V E N I D O S A A H O R C A D O S”)
run()

Danelia Sanchez Sanchez
Es que cuando la variables
tries
if tries == 7:
el programa busca la imagen a mostrar en la lista IMAGEN pero solo hay 7 dibujos (para acceder a la última imagen es IMAGEN(6) ). Recuerda que los índices empiezan desde cero. Por eso te dice que el índice está fuera de rango. Puedes cambiar la condición con el valor de 6 o añadir una imagen a la lista.