Gostaria de entender por que a função marca_chute_correto está funcionando sem os parâmetros utilizados na aula. Já rodei o meu código e tudo está funcionando normalmente mas ainda não entendi o motivo.
def jogar():
import random
def imprime_mensagem_inicial():
print("*********************************")
print("***Bem vindo ao jogo de Forca!***")
print("*********************************")
def escolher_palavra_secreta():
arquivo = open("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()
return palavra_secreta
def inicializa_letras_acertadas(palavra):
letras_acertadas = ["_" for letra in palavra]
return letras_acertadas
def pede_chute_player():
chute = input("Qual letra? ")
chute = chute.strip().upper()
return chute
def marca_chute_correto():
index = 0 # index = posição #
for letra in palavra_secreta:
if (letra == chute):
letras_acertadas[index] = letra
index += 1
imprime_mensagem_inicial()
palavra_secreta = escolher_palavra_secreta()
letras_acertadas = inicializa_letras_acertadas(palavra_secreta)
enforcou = False
acertou = False
tentativas = len(palavra_secreta)
print(letras_acertadas)
while(not enforcou and not acertou):
print("Você possui {} tentativas".format(tentativas))
chute = pede_chute_player()
if (chute in palavra_secreta):
marca_chute_correto()
print(letras_acertadas)
print("Jogando...")
else:
tentativas = tentativas - 1
enforcou = tentativas == 0
acertou = "_" not in letras_acertadas
print(letras_acertadas)
if (acertou):
print("Você ganhou!")
elif (enforcou):
print("Você perdeu!")
print("Fim de jogo.")
if(__name__ == "__main__"):
jogar()