Boa tarde, quando utilizo o "For" no jogo de Adivinhação, ele traz o resultado certo, de forma certa. Diferente do "While", quando utilizo o código a resposta vem diferente. No While vem a mais com a resposta "Você errou! O seu chute foi menor do que o número secreto.", sendo que a lógica era para ser igual o "For".
Segue os códigos e respostas abaixo:
print("*") print("Bem vindo ao jogo de Adivinhação!") print("*")
numero_secreto = 42 total_de_tentativas = 3
for rodada in range(1, total_de_tentativas + 1): print("Tentativa {} de {}".format(rodada, total_de_tentativas)) chute_str = input("Digite um número entre 1 e 100: ") print("Você digitou ", chute_str) chute = int(chute_str)
if(chute < 1 or chute > 100):
print("Você deve digitar um número entre 1 e 100!")
continue
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if(acertou):
print("Você acertou!")
break
else:
if(maior):
print("Você errou! O seu chute foi maior do que o número secreto.")
elif(menor):
print("Você errou! O seu chute foi menor do que o número secreto.")
print("Fim do jogo.")
Tentativa 1 de 3 Digite um número entre 1 e 100: -1 Você digitou -1 Você deve digitar um número entre 1 e 100! Tentativa 2 de 3 Digite um número entre 1 e 100:
print("*") print("Bem vindo no jogo de Adivinhação!") print("*")
numero_secreto = 42 total_de_tentativas = 3 rodada = 1
while(rodada <= total_de_tentativas): print("Tentativa {} de {}".format(rodada, total_de_tentativas)) chute_str = input("Digite o seu numero: ") print("Você digitou ", chute_str) chute = int(chute_str)
if(chute < 1 or chute > 100):
print("Você deve digitar um número entre 1 e 100!")
acertou = chute == numero_secreto
maior = chute > numero_secreto
menor = chute < numero_secreto
if(acertou):
print("Você acertou!")
break
else:
if(maior):
print("Você errou! O seu chute foi maior do que o número secreto.")
elif(menor):
print("Você errou! O seu chute foi menor do que o número secreto.")
rodada = rodada + 1
print("Fim do jogo.")
Tentativa 1 de 3 Digite o seu numero: -1 Você digitou -1 Você deve digitar um número entre 1 e 100! Você errou! O seu chute foi menor do que o número secreto. Tentativa 2 de 3 Digite o seu numero: