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

Não funciona sem o caminho inteiro e não reconhece caracteres

Assim como outros colegas, não consigo acertar o código sem chamar o caminho completo do arquivo em certa linha, e a palavra "maça" está me retornando isso: "MAçA"

Não vi instrutor dando motivos ou respostas claras sobre o motivo disso ocorrer, aguardo, desde já obrigado, segue meu código abaixo:

import random

def jogar():

    print("*" * 38)
    print("** Olá, bem-vindo ao Jogo da Forca! **")
    print("*" * 38, end="\n\n")

    arquivo = open(r"D:\Projetos PyCharm\jogos\jogos\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 letras 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 de Jogo")

if (__name__ == "__main__"):
    jogar()
2 respostas
solução!

Olá, Weslen. Tudo bem?

Não sei se entendi muito bem a sua dúvida, qualquer coisa me corrija, por favor.

Caminho do arquivo


não consigo acertar o código sem chamar o caminho completo do arquivo em certa linha

Esse caso é bem estranho. Se o arquivo está na mesma pasta do programa, deveria funcionar apenas com o nome do arquivo.

Qual foi o erro apresentado?


Codificação


Palavra "maça" está me retornando isso: "MAçA"

Veja se você salvou o arquivo com a codificação UTF-8.

Na imagem está ANSI, mas você precisa colocar como UTF-8.

UTF-8

Eu consegui resolver ambos problemas, da forma que tu especificou, mas a questão de salvar como "UTF-8" não foi especidicada neste curso e tive de ir atrás por aí, mas deu tudo certo, obrigado:)