O programa só encerra depois de informado o 0 (zero, valor que encerra o while) pela segunda vez.
Se o 0 (zero) for a primeira entrada ele sai imediatamente. Mas, se for informado um outro número e na segunda solicitação de sair for informado o zero, o zero precisa ser informado duas vezes, para então o programa sair.
Segue código:
import forca
import adivinhacao
jogo = 99
def escolhe_jogo():
print("*********************************")
print("*******Escolha o seu jogo********")
print("*********************************")
print ('(1) Forca (2) Adivinhação (0) Sair') # (0) Sair
jogo = int(input('Qual jogo? '))
if (jogo == 1):
forca.jogar()
elif (jogo == 2):
adivinhacao.jogar()
return jogo
if(__name__ == '__main__'):
while (escolhe_jogo() != 0):
escolhe_jogo()
Se for informado o zero de primeira, o programa encerra. Como deve ser.
É preciso informar o zero duas vezes para sair. Depois de informar um outro número.