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

Minha única dúvida é, por que o if(__name__ == "__main__"): jogar() no final do código, eu entendi que "jogar()" é a função que criamos (no caso o código) mas não entendi esse if e o que sucede ele.

def jogar(): print("*") print("Bem vindo ao jogo da Forca!") print("*")

palavraSecreta = 'banana'.upper()
letrasAcertadas = ["_", "_", "_", "_", "_", "_"]

enforcou = False
acertou = False
erros = 0

print(letrasAcertadas)

while(not enforcou and not acertou):

    chute = input("Qual letra ? ")
    chute = chute.strip().upper()

    if (chute in palavraSecreta):
        index = 0
        for letra in palavraSecreta:
            if (chute == letra):
                letrasAcertadas[index] = letra
            index += 1
    else:
        erros += 1

    enforcou = erros == 6
    acertou = '_' not in letrasAcertadas
    print(letrasAcertadas)

if(acertou):
    print('Você ganhou!!!')
else:
    print('Você perdeu.')
print("Fim do jogo")

if(name == "main"): jogar()

1 resposta
solução!

E aí, Gabriel. Beleza?

Essa condição serve para verificar se esse código está sendo executado pelo próprio arquivo. Nós podemos, por exemplo, querer que parte desse jogo seja usada em outro sistema e, para reaproveitar código, podemos importar o jogo dentro desse outro sistema sem necessariamente querer que ele seja executado.

Nesse caso, tudo o que estiver fora dessa cláusula será executado quando fizer o import, mas a função que inicia o jogo só será executada se o arquivo em si for executado.

Espero ter ajudado.

Abraço.