Olá! Gostaria de entender qual a diferença entre criar a variável index antes e dentro do while.
Eu havia criado a variável no começo do código, fora do while:
def jogar():
palavra_secreta = 'banana'
letras_acertadas = ["_", "_", "_", "_", "_", "_"]
enforcou = False
acertou = False
index = 0 ##AQUI!
print(letras_acertadas)
while(not enforcou and not acertou):
chute = input("Digite uma letra: ")
chute = chute.strip()
#index = 0 ##NÃO AQUI!
for letra in palavra_secreta:
if(chute.upper() == letra.upper()):
letras_acertadas[index] = letra
index = index + 1
print(letras_acertadas)
print("Fim do jogo")
if(__name__ == "__main__"):
jogar()
Mas depois de 1 letra acertada, o programa dava erro de IndexError: list assignment index out of range Imagino que esse erro ocorra quando o programa está tentando acessar uma posição inexistente da lista, mas não entendi a diferença da variável ter sido criada antes e depois do while.
Depois que alterei e criei a variável dentro do while, não tive mais esse problema.