2
respostas

Por que minhas palavras aparecem com um caractere a mais?

import random

print('=-'*15)
print('Jogo da forca')
print('=-'*15)

arquivo = open("palavras.txt", "r")
lista = []

for linha in arquivo:
    linha.strip().lower()
    lista.append(linha)

arquivo.close()

numero = random.randint(1, len(lista))
palavra = lista[numero]
campo = ['_' for letra in palavra]


erro = 0
while True:
    print(campo)
    chute = input('Qual a letra?').strip().lower()
    if chute in palavra:
        pos = 0
        for letra in palavra:
            if chute == letra:
                campo[pos] = chute
            pos += 1
    else:
        erro += 1

    if erro == 6 or '_' not in campo:
        break
2 respostas

Na hora de ler a palavra sorteada da lista você deve limpar ela, para remover o caractere especial que representa a quebra de linha, \n:

palavra = lista[numero].strip()

Sim isso deve funcionar.