Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Mão na massa

import random


def jogar():

    imprime_mensagem_abertura() 

    palavra_secreta = traz_palavra_secreta()

    letras_acertadas = inicializa_letras_acertadas(palavra_secreta)

    enforcou = False
    acertou = False
    tentativas = 0

    print(f"Adivinhe a palavra secreta: {letras_acertadas}")

    while not enforcou and not acertou:

        chute = pede_chute()

        if chute in palavra_secreta:
            marca_chute_correto(palavra_secreta, chute, letras_acertadas)

        else:
            tentativas += 1
            desenha_forca(tentativas)
            print(f"Você ERROU!!! Ainda há {7-tentativas} tentativas.")

        enforcou = tentativas == 7
        print(letras_acertadas)

        if "_" not in letras_acertadas:
            acertou = True

    if acertou:
        imprime_mensagem_vencedor()
    else:
        imprime_mensagem_perdedor(palavra_secreta)

    print("Fim de jogo!!!")

# Funções Utilizadas:


def imprime_mensagem_abertura():
    print("*********************************\n"
          "Bem-vindo ao jogo de adivinhação!\n"
          "*********************************\n")


def traz_palavra_secreta():
    with open("palavras.txt", "r", encoding="UTF-8") as arquivo:   # Para não ter que usar o close(), é só usa o with
        palavras = []

        for linha in arquivo:
            linha = linha.strip()
            palavras.append(linha)

        numero = random.randrange(0, len(palavras))

    palavra_secreta = palavras[numero].upper()
    return palavra_secreta


def inicializa_letras_acertadas(palavra):
    return ["_" for letra in palavra]  # fazer um for dentro de uma lista


def pede_chute():
    return str.upper(str.strip(input("Chute uma letra:")))


def marca_chute_correto(palavra, chute, letras_acertadas):
    index = 0
    for letra in palavra:
        if chute == letra:
            letras_acertadas[index] = letra
            print(f"Encontrei a letra {chute} na posição {index}.")
        index = index + 1


def imprime_mensagem_perdedor(palavra_secreta):
    print("Puxa, você foi enforcado!")
    print(f"A palavra era {palavra_secreta}\n"
          "    _______________         \n"
          "   /               \       \n"
          "  /                 \      \n"
          "//                   \/\  \n"
          "\|   XXXX     XXXX   | /   \n"
          " |   XXXX     XXXX   |/     \n"
          " |   XXX       XXX   |      \n"
          " |                   |      \n"
          " \__      XXX      __/     \n"
          "   |\     XXX     /|       \n"
          "   | |           | |        \n"
          "   | I I I I I I I |        \n"
          "   |  I I I I I I  |        \n"
          "   \_             _/       \n"
          "     \_         _/         \n"
          "       \_______/           \n")


def imprime_mensagem_vencedor():
    print(f"Parabéns, você ganhou!\n"
           "       ___________      \n"
           "      '._==_==_=_.'     \n"
           "      .-\\:      /-.    \n"
           "     | (|:.     |) |    \n"
           "      '-|:.     |-'     \n"
           "        \\::.    /      \n"
           "         '::. .'        \n"
           "           ) (          \n"
           "         _.' '._        \n"
           "        '-------'       \n")


def desenha_forca(erros):
    print("  _______     ")
    print(" |/      |    ")

    if(erros == 1):
        print(" |      (_)   ")
        print(" |            ")
        print(" |            ")
        print(" |            ")

    if(erros == 2):
        print(" |      (_)   ")
        print(" |      \     ")
        print(" |            ")
        print(" |            ")

    if(erros == 3):
        print(" |      (_)   ")
        print(" |      \|    ")
        print(" |            ")
        print(" |            ")

    if(erros == 4):
        print(" |      (_)   ")
        print(" |      \|/   ")
        print(" |            ")
        print(" |            ")

    if(erros == 5):
        print(" |      (_)   ")
        print(" |      \|/   ")
        print(" |       |    ")
        print(" |            ")

    if(erros == 6):
        print(" |      (_)   ")
        print(" |      \|/   ")
        print(" |       |    ")
        print(" |      /     ")

    if (erros == 7):
        print(" |      (_)   ")
        print(" |      \|/   ")
        print(" |       |    ")
        print(" |      / \   ")

    print(" |            ")
    print("_|___         ")
    print()


if __name__ == "__main__":
    jogar()
1 resposta
solução!

Oi, Laura! Tudo bem? ^-^

Parabéns, muito bacana ver sua evolução ao decorrer do jogo!

Você mandou muito bem!

Caso tenha ficado com alguma dúvida conte com a gente!

Continue mergulhando.

Bons estudos e até mais!