Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] problemas nas linhas 64, 7 , 49 alguém por favor poderia me ajudar ?

import random


def jogar():

    imprime_mensagem_abertura()
    palavra_secreta = carrega_palavra_secreta()
    letras_acertadas = inicializa_letras_acertadas(palavra_secreta)

    enforcou = False
    acertou = False
    erros = 0

    print(letras_acertadas)

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

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

    if(acertou):
        print("Você ganhou! !")
    else:  
        print("Você perdeu! !")
    print("Fim do jogo")

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

def imprime_mensagem_abertura():
    print("*********************************")
    print("***Bem vindo ao jogo da 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))
    palavras_secreta = palavras[numero].upper()
    return palavra_secreta


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

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

2 respostas
solução!

Olá, Leandro. Tudo bem?

O arquivo palavras.txt se encontra no mesmo diretório que o seu código? Se o arquivo não estiver no mesmo diretório do código, o erro está acontecendo devido a isso. Para resolver isso existem duas soluções. A primeira é mover o arquivo para o diretório do código. A outra solução é especificar o caminho completo para o arquivo no código.

Além disso, notei um erro de digitação na linha 59 do código.

Onde está escrito:

    palavras_secreta = palavras[numero].upper()

Acredito que a variável palavras_secreta deveria estar sem o s em palavras. Assim:

    palavra_secreta = palavras[numero].upper()

Desse modo, o retorno da função na linha seguinte funcionará corretamente.

Espero ter ajudado. Qualquer dúvida estou a disposição.

Fico no aguardo pelo seu retorno.

Abraços. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Bem ! E você ?

Obrigado Gabrielle, era só especificar o caminho completo mesmo, e remover a letra S.