Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Jogo não roda. problema na função "inicializa_letras_acertadas

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

from functools import partial
import random

def mostra_mensagem_bem_vindo():
    print("***************************")
    print("*******BEM VIDO************")
    print("***************************")
mostra_mensagem_bem_vindo()

def carrega_palavra_secreta():
    arquivo = open("Forca/palavras.txt")
    palavras = []

    for linha in arquivo:
        linha = linha.strip()
        palavras.append(linha)

    arquivo.close()

    numero = random.randrange(0,len(palavras))
    palavra_secreta = palavras[numero].upper()
    return palavra_secreta
palavra_secreta = carrega_palavra_secreta

def inicializa_letras_acertadas():
    return ['_' for letra in palavra_secreta]
letras_acertadas = inicializa_letras_acertadas()


enforcou = False
acertou = False
erros = 0

print(letras_acertadas)

while(not acertou and not enforcou):

    chute = input("Qual 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")



1 resposta
solução!

Creio que nesse caso o problema seja que você referiu diretamente a função carrega_palavra_secreta na variável palavra_secreta, ao invés de obter o retorno da mesma. O correto seria palavra_secreta = carrega_palavra_secreta(), com o () no final para chamar a função.