I think your processar()
function is useless. I'll get her out.
Its variables computador
and jogador
are actually the number invented by the computer and the player's attempt. I suggest calling them escolhido
and tentativa
.
Your message " Você só pode digitar números de 0 até 2.
" was actually meant to be 0-5.
Its function jogo()
calls voltar()
which calls jogo()
. This will not work and creates a complicated recursion. The result is that choosing the sair()
option does not always exit. Your program will be pretty confused by this. The solution is to first transform voltar()
into a menu()
function and never call menu()
or jogo()
from within the jogo()
function.
The if
and else
of the jogo()
function have different indentation levels.
Fixing all this, your code looks like this:
from random import randint
import sys
def menu():
jogo()
while True:
print("1 - Voltar ao inicio")
print("2 - Sair")
opcao = int(input("> "))
if (opcao == 1):
jogo()
elif (opcao == 2):
break
else:
print("Opcao invalida!")
def jogo():
escolhido = randint(0, 5)
tentativa = int(input("Tente adivinhar o número no qual eu pensei (de 0 à 5): "))
while tentativa < 0 or tentativa > 5:
jogador = int(input("Opa! Você só pode digitar números de 0 até 5. Tente novamente: "))
if escolhido == tentativa:
print("Você acertou!!! O número que pensei é: {}".format(escolhido))
else:
print("Você errou. Eu pensei no número {} e você digitou o: {}" .format(escolhido, tentativa))
menu()