2
respostas

Sugestão de código

Fiz alterações visando utilizar mais conceitos aprendido no curso. Com as alterações, meu código ficou da seguinte forma

import random


def marca_chute_correto(chute, letras_acertadas, palavra_secreta):
    index = 0
    for letra in palavra_secreta:
        if letra == chute:
            letras_acertadas[index] = chute
        index += 1


def joga_forca():



    imprime_mensagem_abertura()
    palavra_secreta = carrega_palavra_secreta()

    partes_do_corpo = cria_corpo()
    partes_na_forca = []
    letras_acertadas = inicializa_letras_acertadas(palavra_secreta)


    erros = 0

    print(letras_acertadas)

    while True:

        chute = obtem_letra_digitada()

        if chute in palavra_secreta:
            marca_chute_correto(chute, letras_acertadas, palavra_secreta)
        else:
            desenha_forca(partes_do_corpo[erros])
            erros+= 1

        print(letras_acertadas)
        if erros == len(partes_do_corpo):
            print("VOCÊ FOI ENFORCADO")
            break
        if "_" not in letras_acertadas:
            print("VOCÊ GANHOU")
            break

def imprime_mensagem_abertura():
    print("*********************************")
    print("** Bem vindo ao jogo de Forca! **")
    print("*********************************")

def obtem_letra_digitada():
    chute = input("Qual a letra? ")
    return chute.strip().upper()

def carrega_palavra_secreta():
    palavras = []
    with open("palavras.txt", "r") as arquivo:
        for linha in arquivo:
            linha = linha.strip()
            palavras.append(linha)
    random.randrange(0, len(palavras))
    return palavras[random.randrange(0, len(palavras))].upper()

def inicializa_letras_acertadas(palavra):
    return ["_" for letra in palavra]

def cria_corpo():
    cabeca = (" |      (_)   ", " |            ", " |            ", " |            ")
    braco_direito = (" |      (_)   ", " |      \     ", " |            ", " |            ")
    tronco = (" |      (_)   ", " |      \|    ", " |            ", " |            ")
    braco_esquerdo = (" |      (_)   ", " |      \|/   ", " |            ", " |            ")
    barriga = (" |      (_)   ", " |      \|/   ", " |       |    ", " |            ")
    perna_direita = (" |      (_)   ", " |      \|/   ", " |       |    ", " |      /     ")
    perna_esquerda = (" |      (_)   ", " |      \|/   ", " |       |    ", " |      / \   ")

    return [cabeca, braco_direito, tronco, braco_esquerdo, barriga, perna_direita, perna_esquerda]

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

    for linha in partes:
        print(linha)

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

if __name__ == "__main__":
    joga_forca()
2 respostas

Novamente, muito bom Bruno, está mandando bem e parece que está dominando bem os conceitos.

Só notei que a variável partes_na_forca não está sendo usada.

    partes_do_corpo = cria_corpo()
    partes_na_forca = []
    letras_acertadas = inicializa_letras_acertadas(palavra_secreta)

De resto está 10 o seu código.

Bons Estudos.

Exatamente, deixei alguns lixos.

Antes de desenhar a forca, eu imprimia as partes do corpo, parei de usar mas as variáveis ficaram no código.

Obrigado