Attualmente sto imparando Python da un libro chiamato "Python per il principiante assoluto (terza edizione)". C'è un esercizio nel libro che delinea il codice per un gioco dell'impiccato. Ho seguito questo codice, ma continuo a restituire un errore nel bel mezzo del programma.Errore Python: "IndexError: indice stringa fuori intervallo"
Ecco il codice che causa il problema:
if guess in word:
print("\nYes!", guess, "is in the word!")
# Create a new variable (so_far) to contain the guess
new = ""
i = 0
for i in range(len(word)):
if guess == word[i]:
new += guess
else:
new += so_far[i]
so_far = new
Questo è anche l'errore viene restituito:
new += so_far[i]
IndexError: string index out of range
qualcuno potrebbe aiutarmi con che cosa sta andando male e quello che posso fare per aggiustarlo?
edit: ho inizializzato la variabile so_far in questo modo:
so_far = "-" * len(word)
Questo è minore e non correlato alla domanda, ma non è necessario l'i = 0. Il ciclo for imposta automaticamente la variabile di ciclo quando viene avviata anche se non è stata ancora definita. –
@ Chad Sì, è giusto. Non riesco a ricordare perché l'ho bloccato in: S – Darkphenom