Olá, Não estou achando o erro lógico que esta fazendo meu código não funcionar como deveria, alguém poderia me ajudar?
print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************")
numero_secreto = 42
chute = int(input("Digite o seu número: "))
acertou = (chute == numero_secreto)
maior = (chute > numero_secreto)
menor = (chute < numero_secreto)
print("Você digitou ", chute)
while(numero_secreto != chute):
if(maior):
print("Errou, chutou alto!")
chute = int(input("Tente novamente: "))
elif(menor):
print("Errou, chutou baixo!")
chute = int(input("Tente novamente: "))
if(acertou):
print("Você acertou! Parabéns")
Ele deveria receber o input do usuário, se o input for diferente do numero secreto ele deveria rodar o WHILE, printando as mensagens correspondentes a maior ou menor, e pedindo uma nova entrada. Se o usuário tiver acertado ele pula o WHILE e printa Você acertou, parabéns.
*********************************
Bem vindo ao jogo de Adivinhação!
*********************************
Digite o seu número: 10
Você digitou 10
Errou, chutou baixo!
Tente novamente: 50
Errou, chutou alto!
Tente novamente: 42
Você acertou! Parabéns
Pois bem, o que acontece na pratica é o seguinte: se o primeiro input do usuário estiver errado ele faz a comparação de maior ou menor e realmente mostra a mensagem correta e solicita novo input. Mas ele não mais compara esse input com os IFs do WHILE, repedindo a mensagem anterior em caso de erro, ou terminando o loop sem mensagem nenhuma em caso de acerto.
*********************************
Bem vindo ao jogo de Adivinhação!
*********************************
Digite o seu número: 10
Você digitou 10
Errou, chutou baixo!
Tente novamente: 50
Errou, chutou baixo!
Tente novamente: 42