1
resposta

O meu código esta tendo probleme em puxar o arquivo "palavras.txt"

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 acertou and not enforcou):

    chute = input("Qual a sua letra?")
    chute = chute.strip().upper()

    if(chute in palavra_secreta):
        index = 0 
        for letra in palavra_secreta:
            if(chute.upper() == letra.upper()):
                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()

![print do arquivo](https://cdn1.gnarususercontent.com.br/1/1402320/4e6f950c-386e-4236-94a4-33de78da2dd0.png)
1 resposta

Oi @Yan,

Você poderia dar mais detalhes sobre o o seu problema?

Por favor, copie e cole a mensagem de erro aqui no fórum.

Dica:

Não abra arquivos com open

Caso close() não seja chamada, o recurso não será liberado de volta para o sistema operacional. Isso é perigoso porque caso alguma exceção seja levantada, close() não será chamada.

A forma correta é utilizar o Gerenciador de Contexto (Context Manager) e a palavra-chave with

with open('palavras.txt') as arquivo:
        palavras = [linha.strip() for linha in arquivo]

Veja mais aqui: Python Docs - Reading and Writing Files