Olá pessoal! Estou com problemas na linha da função "marca_chute_correto" dentro da condição if(chute in palavra_secreta). Ele diz que os valores que passo dentro dos parenteses não são necessários mas ele são.
import random
def jogar ():
# DECLARAÇÃO DE FUNÇÕES:
def imprime_mensagem_abertura():
print("-" * 40)
print("Bem vindo(a) a forca!!!")
print("-" * 40)
def carrega_palavra_secreta():
palavras = []
with open("palavras.txt") as arquivo:
for linha in arquivo:
linha = linha.strip()
palavras.append(linha)
numero = random.randrange(0, len(palavras))
palavra_secreta = palavras[numero].upper()
return palavra_secreta
def inicializa_letras_acertadas():
return ["_" for elemento in palavra_secreta]
def pede_chute():
chute = input("Letra: ")
chute = chute.upper().strip()
return chute
def marca_chute_correto():
index = 0
for letra in palavra_secreta:
if (chute == letra):
letras_acertadas[index] = letra
index = index + 1
def imprime_mensagem_vencedor():
print("Você Ganhou!")
def imprime_mensagem_perdedor():
print("Você Perdeu!")
#=====================================================CÓDIGO===========================================================
imprime_mensagem_abertura()
palavra_secreta = carrega_palavra_secreta()
letras_acertadas = inicializa_letras_acertadas()
print(letras_acertadas)
acertou = False
enforcou = False
erros = 0
while(not enforcou and not acertou):
chute = pede_chute()
if(chute in palavra_secreta):
marca_chute_correto(palavra_secreta, chute, letras_acertadas)
else:
erros = erros + 1
enforcou = erros == 6
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if(acertou):
imprime_mensagem_vencedor()
else:
imprime_mensagem_perdedor()
if(__name__ == "__main__"):
jogar()
Ah! Não sei pq se eu colocar as funções na parte de baixo do script, elas não funcionam.. Elas estão corretas com relação a posição da chamada da função "if(name == "main"): jogar()". Estou usando o py 3.8 Alguém pode me dar uma luz? Desde já, agradeço :)