1
resposta

Caractere inesperado no final das palavras na lista

No meu arquivo .txt não há espaços no final das palavras, mas quando transformo as palavras em '[ _ ]' surge um caractere extra no final das palavras mesmo usando o .strip

    palavras = []
    for linha in arquivo:
        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]
    print(palavra_secreta)
1 resposta

Olá Nícolas, tudo bem? Eu passei pelo jogo da forca a alguns dias e pelo que pude perceber baseado no seu comentário, você retira os espaços presentes na palavra, mas não está atribuindo isso a variável, então ela não é alterada. Observe o laço for, ele retira os possíveis espaços em branco da palavra em linha.strip(), mas não retorna essa alteração para a variável. Então só tente a seguinte alteração:

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]
    print(palavra_secreta)

Espero ter ajudado.