2
respostas

[Sugestão] Minha sugestão para exibir o feedback para o usuário

print(letras_acertadas, "Faltam: ", letras_acertadas.count("_"), " tentativas !! ")
2 respostas

*Eu também fiz algumas alterações no codigo: *

from random import choice
def jogar():
    global palavra_secreta, dica
    print("*" * 34)
    print("***Bem vindo ao jogo da Forca!***")
    print("*" * 34)

    nivel1 = ["banana", "maca", "abacaxi", "pessego", "limao", "uva"]
    nivel2 = ["carro", "bicicleta", "caminhao", "carroca", "patins", "moto"]
    nivel3 = ["cachorro", "gato", "peixe", "cavalo", "lobo", "zebra"]

    nivel = input("Escolha o Nível de 1 a 3:  ")

    match nivel:
        case "1":
            palavra_secreta = choice(nivel1).upper()
            dica = "Fruta"
        case "2":
            palavra_secreta = choice(nivel2).upper()
            dica = "Meio de Locomoção"
        case "3":
            palavra_secreta = choice(nivel3).upper()
            dica = "Animal"

    print(palavra_secreta)
    letras_acertadas = []

    for letras in palavra_secreta:
        letras_acertadas.append("_")

    enforcou = False
    acertou = False
    erros = 0
    print(letras_acertadas, "Qtde Tentativas: ", len(letras_acertadas), "Dica: ", dica)

    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.upper() == letra.upper()):
                    letras_acertadas[index] = letra
                index += 1
        else:
            erros += 1

        enforcou = erros == len(palavra_secreta)
        acertou = "_" not in letras_acertadas

        print(letras_acertadas, "Faltam: ", letras_acertadas.count("_"), " tentativas !! ")

    if acertou:
        print("Você acertou parabéns")
    else:
        print("Você errou, que pena!!! ")
    print("Fim do jogo")


if (__name__ == "__main__"):
    jogar()

Olá Rafael, tudo bem com você?

Peço desculpas pela demora no retorno.

Meus parabéns pela implementação do código adicionando a exibição da mensagem de quantas letras foram acertadas pelo usuário. Fico feliz que tenha compartilhado com a comunidade do fórum Alura.

Gostaria de aproveitar a oportunidade e recomendar uma modificação no código. Quando um usuário acerta ou erra uma das letras, é enviado uma mensagem informando que ainda existe uma determinada quantidade de tentativas restantes, mas, o valor informado não está sendo a quantidade real de tentativas.

Recomendo que crie uma variável com o nome tentativas para receber a quantidade de tentativas restantes. Neste caso, a variável irá receber o resultado do cálculo do comprimento da palavra secreta menos a quantidade de erros. Como apresentado abaixo.

tentativas = len(palavra_secreta) - erros

Adicione o código acima após a declaração das variáveis enforcou e acertou, como abaixo:

enforcou = erros == len(palavra_secreta)
acertou = "_" not in letras_acertadas
tentativas = len(palavra_secreta) - erros

Agora, na mensagem que é apresentada após o usuário informar uma letra, troque letras_acertadas.count("_") por tentativas, ficando como apresentado abaixo.

print(letras_acertadas, "Faltam: ", tentativas, " tentativas !! ")

Código completo com as modificações

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.upper() == letra.upper()):
                letras_acertadas[index] = letra
            index += 1
    else:
        erros += 1

    enforcou = erros == len(palavra_secreta)
    acertou = "_" not in letras_acertadas
    tentativas = len(palavra_secreta) - erros

    print(letras_acertadas, "Faltam: ", tentativas, " tentativas !! ")

Peço que analise a proposta acima e verifique se faz sentido para seu projeto, caso faça, basta realizar as mudanças nos pontos listados.

Lembre-se que pode contar sempre com o fórum Alura, seja para compartilhar o seu desenvolvimento ou para tirar suas dúvidas.

Fico à disposição.

Abraços e bons estudos.