Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Jogo fica rodando infinitamente, mesmo depois de acertar

Oi, pessoal! Meu código está idêntico ao do instrutor Nico, porém o jogo não finaliza após as 6 tentativas, mesmo depois de acertar a palavra. Estou quebrando a cabeça para entender o que está acontecendo, se alguém puder me ajudar, seria ótimo! :D

def jogar():

    print("*********************************")
    print("***Bem vindo ao jogo da Forca!***")
    print("*********************************")

    palavra_secreta = "banana".upper()
    letras_acertadas = ["_", "_", "_", "_", "_", "_"]

    enforcou = False
    acertou = False
    erros = 0

    print(letras_acertadas)

    while (not acertou and not enforcou):

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

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

        enforcou = erros == 6
        print(letras_acertadas)

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

    print("Fim do jogo")

if(__name__ == "__main__"):
    jogar()
2 respostas
solução!

Boa Tarde !!

Adicionar o seguinte comando abaixo da linha - (enforcou = erros == 6)

acertou = "_" not in letras_acertadas

Muito obrigada! Deu certo :)