Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] meu def das letras acertadas não funciona

def jogar():

mensagem_inicial()
palavra_secreta = carregar_palavra_secreta()
letras_corretas = colocar_letras_corretas(palavra_secreta)

enforcou = False
acertou = False
erros = 0



while(not enforcou and not acertou):

    chute = input("qual letra? ")
    chute = chute.strip().upper()

    if(chute in palavra_secreta):
       index = 0
       for letra in palavra_secreta:
           if(chute == letra):
               letras_corretas[index] = letra
           index += + 1
    else:
        erros += 1

    enforcou = erros == 6
    acertou = "_" not in letras_corretas
    print(letras_corretas)

if(acertou):
    print("Você ganhou!")
else:
    print("Você perdeu!")

def colocar_letras_corretas(palavra): return ["_" for letra in palavra] def mensagem_inicial(): print ("") print ("bem vindo ao jogo de Forca!") print ("")

def carregar_palavra_secreta(): arquivo = open("palavras.txt","r") palavras = []

for linha in arquivo:
    linha = linha.strip()
    palavras.append(linha)

arquivo.close()

numero = random.randrange(0,len(palavras))
palavra_secreta = palavras[numero].upper()

if (name == "main"): jogar()

1 resposta
solução!

ia apagar, mas talvez alguém cometa o mesmo erro, que foi esquecer de colocar o return na palavra secreta: def carregar_palavra_secreta(): arquivo = open("palavras.txt","r") palavras = []

for linha in arquivo:
    linha = linha.strip()
    palavras.append(linha)

arquivo.close()

numero = random.randrange(0,len(palavras))
palavra_secreta = palavras[numero].upper()

return palavra_secreta

um errinho bobo, entretanto ele quebra o jogo todo, por isso é bom olhar bem o código e ouvir o prof