1
resposta

Opcional: quantas tentativas faltam?

Segue abaixo a solução que eu criei.

def jogar_f():
    from time import sleep

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

    palavra_secreta = "banana".upper()
    letras_acertadas = ["_", "_", "_", "_", "_", "_"]
    enforcou = False
    acertou = False
    erros = 0
    tentativas = len(palavra_secreta) # número de tentativas máximo é o número de letras da palavra

    print()
    sleep(0.3)
    print(letras_acertadas)

    while not enforcou and not acertou:
        chute = input('Qual letra? ').strip().upper()

        if chute in palavra_secreta:           # se o jogador acertou uma letra dentro da palavra
            index = 0
            for letra in palavra_secreta:
                if chute == letra:
                    letras_acertadas[index] = letra
                index += 1
        else:         # se o jogador errou
            tentativas -= 1           # se ele errar, ele perde uma tentativa
            erros += 1
            print(f'Você ainda tem {tentativas} tentativas.')
            # mostra para o jogador, quantas tentativas ele ainda tem.

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

    print()
    sleep(0.3)
    if acertou:
        print('Você ganhou!')
    else:
        print(f'Você perdeu! A palavra correta era {palavra_secreta}.')
    print("Fim do jogo")


if __name__ == "__main__":
    jogar_f()
1 resposta

Olá Beatriz! Tudo certo? Espero que sim. 🙂

Desculpe pelo atarso no retorno.

Ótimo código! Parabéns pela iniciativa na procura de outras maneiras de fomatação da função print(). Também gostei de ver o uso da função sleep() para garantir uma experiência mais fluida e confortável de acompanhar pelo usuário.

Continue os bons estudos! 😉