3
respostas

Erro ao rodar script

Boa noite! Estou tendo um erro ao executar o script, sendo que aparentemente é exatamente igual ao apresentado ao final deste módulo.

import random

def jogar():

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

    arquivo = open("palavras2.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 a 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
            print("Ops, você errou! Faltam {} tentativas.".format(6 - erros))
        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()

eu até tentei criar um outro .txt pra ver mas o erro se mantém...

Teor do palavras2.txt

melao/nmelancia/njamelao/njaboticaba/n

Segue o erro que está dando, sendo que já conferi e o documento "palavras2.txt" está dentro do caminho 'C:/Users/ferna/PycharmProjects/jogos/'

C:\Users\ferna\PycharmProjects\jogos\venv\Scripts\python.exe C:/Users/ferna/PycharmProjects/jogos/forca.py
*********************************
Bem vindo ao jogo da Forca!
*********************************
Traceback (most recent call last):
  File "C:/Users/ferna/PycharmProjects/jogos/forca.py", line 54, in <module>
    jogar()
  File "C:/Users/ferna/PycharmProjects/jogos/forca.py", line 9, in jogar
    arquivo = open("palavras2.txt", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'palavras2.txt'

Process finished with exit code 1

Obrigado!

3 respostas

Olá Fernando!

O arquivo .txt está na mesma pasta que o arquivo .py ?

Olá, Fernando. Dá uma olhada no seu arquivo... o problema está nele... o código está 100% funcional.

Segue print da imagem funcionando... coloquei um arquivo de teste chamado palavras2.txt na pasta do projeto e compilou perfeitamente :)

Segue evidência: https://uploaddeimagens.com.br/imagens/captura_de_tela_de_2019-09-23_22-46-28-png

Aparentemente é isso mesmo, porém ao tentar criar um novo arquivo de texto ele dá erro até para ler! Não estou conseguindo identificar o problema..

Segue a ordem das coisas que fiz recebo um erro ao tentar ler o arquivo..

Criando arquivo do zero e o erro recebido:

>>> arquivo = open('palavras2.txt', 'w')
>>> arquivo.write('melancia')
8
>>> arquivo.write('maca')
4
>>> arquivo.write('manga')
5
>>> arquivo.read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
io.UnsupportedOperation: not readable

Ao abrir o arquivo ele está vazio, não sei porque.. e mesmo adicionando os valores "na mão", ao tentar ler de novo, MESMO desta vez havendo valores (os nomes das frutas por exemplo), ele não consegue ler.

Um momento ontem salvo engano o Pycharm sugeriu mudar o formato para windows-1252 e eu cliquei, mas confirmei agora que está em UTF-8..

Se alguém tiver alguma ideia de como solucionar.. valeu!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software