Estou escrevendo o jogo da adivinhação com laço for , porém, toda verificação do número, está imprimindo a frase de saída sem acerto que é "Não foi dessa vez"
meu código:
secret_number = 3
attempt = 5
for shot in range(1, attempt+1):
entry = input("Tente adivinhar o número secreto! Entre 1 - 10: ")
print("Palpite {} de {}".format(shot, attempt))
number = int(entry)
if (number < 0 or number > 10):
print("O número secreto está entre 1 e 10")
continue
hit = number == secret_number
larger = number > secret_number
smaller = number < secret_number
if(hit):
print("Você adivinhou!")
break
else:
if(larger):
print("Seu palpite é maior que o número secreto")
elif(smaller):
print("Seu palpite é menor que o número secreto")
print("Não foi dessa vez")
saída no terminal:
Tente adivinhar o número secreto! Entre 1 - 10: 5
Palpite 1 de 5
Seu palpite é maior que o número secreto
**Não foi dessa vez**
Tente adivinhar o número secreto! Entre 1 - 10: 8
Palpite 2 de 5
Seu palpite é maior que o número secreto
**Não foi dessa vez**
Tente adivinhar o número secreto! Entre 1 - 10: 2
Palpite 3 de 5
Seu palpite é menor que o número secreto
**Não foi dessa vez**
Tente adivinhar o número secreto! Entre 1 - 10:
a solução que encontrei foi inserir um continue antes da função print, porém, a frase de fim dos palpites nunca é processada
então tentei:
...
if(hit):
print("Você adivinhou!")
break
else:
if(larger):
print("Seu palpite é maior que o número secreto")
elif(smaller):
print("Seu palpite é menor que o número secreto")
if(shot == attempt):
print("Não foi dessa vez")
Porém, nos exemplos da aula não é utilizada essa última verificação, conseguem me informar se estou errando de alguma forma?