1
resposta

[Dúvida] Duvida em relacao a erro de codigoy

Nao estou conseguindo encontrar o erro na imagem abaixo

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

import random
def jogar():

    imprime_mensagem_abertura()
    palavra_secreta = carrega_palavra_secreta()

    letra_acertadas = inicializa_letras_acertadas(palavra_secreta)
    print(letra_acertadas)

    enforcou = False
    acertou = False
    erros = 0



    while(not enforcou and not acertou):

        chute = pede_chute()

        if(chute in palavra_secreta):
            marca_chute_correto(chute, letra_acertadas, palavra_secreta)
        else:
            erros += 1

        enforcou = erros == 6
        acertou = "_" not in letra_acertadas

        print(letra_acertadas)

    if(acertou):
        imprime_mensagem_vencedor()
    else:
        imprime_mensagem_perdedor()
    print("Fim de jogo")




def imprime_mensagem_vencedor():
    print("Voce ganhou")
def imprime_mensagem_perdedor(palavra_secreta):
        print("Puxa, você foi enforcado!")
        print("A palavra era {}".format(palavra_secreta))

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

def pede_chute():
    chute = input("Qual letra: ")
    chute = chute.strip().upper()
    return

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

def imprime_mensagem_abertura():
    print("************")
    print("bem vindo ao jogo de forca");
    print("************")

def carrega_palavra_secreta():
    arquivo = open("palavras.txt", "r")
    palavras = []

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

    arquivo.close()

    numero = random.randrange(0, len(palavras))
    palavra_secreta = palavras[numero].upper()
    return palavra_secreta

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

Olá Gabriel, tudo bem?

Pelo código que você postou, parece que o erro está na função "imprime_mensagem_perdedor". Ela recebe um parâmetro "palavra_secreta", mas esse parâmetro não é utilizado na função. Além disso, a mensagem de perdedor não está sendo impressa corretamente.

Para corrigir, você pode remover o parâmetro "palavra_secreta" da função "imprime_mensagem_perdedor" e alterar a mensagem de perdedor para "Puxa, você foi enforcado! A palavra era {}".format(palavra_secreta).

Além disso, na função "pede_chute", você precisa adicionar um "return chute" para retornar a letra que foi digitada.

Espero ter ajudado e bons estudos!