Opa gente, tudo certo?
Tenho uma dúvida, queria saber o porque do código com while não está consumindo uma tentativa, ele está da seguinte forma :
print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************\n")
numero_sorteado = 99
tentativas = 4
rodada = 1
while (rodada <= tentativas):
# .format : se chama String interpolation, que é um recurso para alterar algo dentro de uma String.
print("\nTentativa {} de {}".format(rodada, tentativas))
chute = int(input("Digite um chute entre 1 e 100 : ",))
if(chute < 1 or chute > 100):
print("\nVocê digitou um número inválido!")
continue
#a várivale 'acertou' é do tipo bool, que pode ter apenas dois valores, true ou false.
acertou = chute == numero_sorteado
maior = chute > numero_sorteado
menor = chute < numero_sorteado
#os dois pontos ':' serve para indicar que caso a condição for true, os blocos abaixo do if, serão executados. Mesmo se aplica para o else.
#os : serve também para iniciar o if ou o else.
if (acertou):
print("\nParabéns! Você acertou!")
break
else:
if (maior):
print("\nSeu chute foi maior que o número sorteado!")
print("\nQue pena! Você errou!")
elif (menor):
print("\nSeu chute foi menor que o número sorteado!")
print("\nQue pena! Você errou!")
rodada += + 1
no console está assim :
Com o for deu certo :
O código está assim :
print("*********************************")
print("Bem vindo ao jogo de Adivinhação!")
print("*********************************\n")
numero_sorteado = 99
tentativas = 4
#rodada = 1
for rodada in range (1, tentativas + 1):
# .format : se chama String interpolation, que é um recurso para alterar algo dentro de uma String.
print("\nTentativa {} de {}".format(rodada, tentativas))
chute = int(input("Digite um chute entre 1 e 100 : ",))
if(chute < 1 or chute > 100):
print("\nVocê digitou um número inválido!")
continue
#a várivale 'acertou' é do tipo bool, que pode ter apenas dois valores, true ou false.
acertou = chute == numero_sorteado
maior = chute > numero_sorteado
menor = chute < numero_sorteado
#os dois pontos ':' serve para indicar que caso a condição for true, os blocos abaixo do if, serão executados. Mesmo se aplica para o else.
#os : serve também para iniciar o if ou o else.
if (acertou):
print("\nParabéns! Você acertou!")
break
else:
if (maior):
print("\nSeu chute foi maior que o número sorteado!")
print("\nQue pena! Você errou!")
elif (menor):
print("\nSeu chute foi menor que o número sorteado!")
print("\nQue pena! Você errou!")