Итак, я работаю над игрой с гаданием и одним из требований является «диапазон» номеров, которые нужно обновить, чтобы у пользователя было легче с их угадать ». Я создал новый вход, когда число слишком велико или слишком низкое. Тем не менее, я не очень хорош с циклами, и я не могу понять, почему мой цикл повторяется только один раз, не вставляя код снова и снова. Может ли кто-нибудь помочь, чтобы заявления elif повторялись до тех пор, пока номер не будет правильным?Guessing number game python
Это мой код до сих пор ...
import random
random_number = random.randint(1,100)
tries = 0
while tries < 800:
guess = input("Guess a random number between 1 and 100.")
tries += 1
try:
guess_num = int(guess)
except:
print("That's not a whole number!")
break
if not guess_num > 0 or not guess_num < 101:
print("That number is not between 1 and 100.")
break
elif guess_num == random_number:
print("Congratulations! You are correct!")
print("It took you {} tries.".format(tries))
break
elif guess_num > random_number:
print("Sorry that number is too high.")
guess_high = input("Guess a number between 0 and {} .".format(guess_num))
elif guess_num < random_number:
print("Sorry that number is too low.")
guess_low = input("Guess a number between {} and 100 .".format(guess_num))
else:
print("Sorry, but my number was {}".format(random_number))
print("You are out of tries. Better luck next time.")
Вы не обновляя фактические диапазоны, но только печать из – Abundance
так, как я мог обновлять диапазоны поэтому он подходит для сужения вкладов пользователей? – Devalur
Вы не должны ломаться, если ответ не был прав. Удалите все другие вхождения 'break' – zondo