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

Não está funcionando - Aula 06 - 08

import random


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

    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()

    letras_acertadas = ["_" for letra in 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")


if __name__ == "__main__":
    jogar()

Ao executar o código, desde praticamente o início da aula, apresenta a mensagem de erro: /usr/bin/python3.6 /home/yaraoliveira/python3/jogos/forca.py


Bem vindo ao jogo da Forca!


Traceback (most recent call last): File "/home/yaraoliveira/python3/jogos/forca.py", line 55, in jogar() File "/home/yaraoliveira/python3/jogos/forca.py", line 9, in jogar arquivo = open("palavras.txt", "r") FileNotFoundError: [Errno 2] No such file or directory: 'palavras.txt'

Obs: O arquivo palavras.txt está criado...

banana
melancia
abacate
uva
3 respostas
solução!

Olá Yara,

A mensagem de erro indica que ele não conseguiu encontrar o arquivo, verifica por favor se o arquivo está na mesma pasta do arquivo forca.py e se está exatamente com o nome palavras.txt

Obs: Encontrei o erro. Havia criado o arquivo palavras.txt fora da pasta onde está o arquivo de forca. Minha dúvida agora é... Pensando que o arquivo está em outro nível... Uma vez que o mesmo não é importado (import no início do arquivo). Como referenciá-lo para funcionar corretamente?

-palavras.txt
-pasta_de_jogos -> 
                         jogos.py
                         advinhacao.py
                         forca.py

Olá Yara, bom saber que foi resolvido!

Se estiver em uma pasta interna como no exemplo abaixo, é só incluir o nome da pasta no caminho do arquivo: arquivo = open("arquivos/palavras.txt", "r")

jogo ->
    -jogos.py
    -advinhacao.py
    -forca.py
    arquivos ->
        palavras.txt

Já no caso de ser uma pasta acima você pode utilizar .. para subir uma pasta: arquivo = open("../palavras.txt", "r")

-palavras.txt
jogo ->
    -jogos.py
    -advinhacao.py
    -forca.py