2
respostas

Problema no codigo

Toda vez que eu vou colocar uma letra aparece "você perdeu". Não estou entendendo o por que. Estou usando o visual studio

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
acertou = "_" not in letras_acertadas
print(letras_acertadas)

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

else:
    print("Você perdeu!")

print("Fim de Jogo!")

2 respostas

Salve, Lucas!

Então, o problema do seu código é que a verificação final está sendo executada sempre que você insere uma letra.

O que você deve fazer é seguinte:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Dessa forma, o seu código deveria estar assim:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Veja que o trecho marcado em verde permanece o mesmo, a diferença é que esse trecho está dentro do loop while. Assim, a verificação (trecho do código em vermelhor) só será executada quando esgotarem as 6 tentativas ou quando você acertar a palavra.

Obrigado! Funcionou...