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

Toda vez que chuto uma letra, ele repete o print("Você perdeu!"), podem me ajudar?

from typing import List def jogar() -> object: print("**") print("Bem vindo ao jogo da forca!") print("**") print("")

palavra_secreta = "maca".upper()
letra_acertada = ["_" for letra in palavra_secreta]

enforcou = False
acertou = False
erro = 0

print("Quantidade de letras na palavra secreta:", len(palavra_secreta))
print("")
print(letra_acertada)

# enquanto (TRUE E TRUE),enquanto é tru ele continua funcionando
while (not enforcou and not acertou):  # enquanto não acertou e não enforcou continua jogando

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

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

    else:
        erro += 1
        print("Ops, você errou! Faltam {} tentativas.".format(6 - erro))

    enforcou = erro == 6
    acertou = "_" not in letra_acertada
    print(letra_acertada)

    if (acertou):
        print("Você GANHOU!!")
    else:
        print("Você Perdeu!")

print("End the game!")

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

2 respostas
solução!

Rafael, debuguei o código para você:

palavra_secreta = "maca".upper()
letra_acertada = ["_" for letra in palavra_secreta]

enforcou = False
acertou = False
erro = 0

print("Quantidade de letras na palavra secreta:", len(palavra_secreta))
print("")
print(letra_acertada)

# enquanto (TRUE E TRUE),enquanto é tru ele continua funcionando
while(not enforcou and not acertou):  # enquanto não acertou e não enforcou continua jogando
    chute = input("Qual letra?")
    chute = chute.strip().upper()
    index = 0
    if (chute in palavra_secreta):
        for letra in palavra_secreta:
            if (chute == letra):
                letra_acertada[index] = letra
            index += 1
    else:
        erro += 1
        print("Ops, você errou! Faltam {} tentativas.".format(6 - erro))

    enforcou = erro == 6
    acertou = "_" not in letra_acertada
    print(letra_acertada)

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

print("End the game!")

Muito obrigado amigo!

Era a posição do IF.

Obrigado!