
В коде выше мы использовали оператор break, который позволяет выйти из цикла, то есть закончить исполнение строк кода в теле цикла и перейти к коду дальше.
А теперь напишем маленькую игру-угадайку. Программа будет загадывать целое число от 1 до 100, а пользователь его угадывать. Как программа будет загадывать число? Выбирать случайным образом из интервала [1, 100] (на самом деле псевдослучайным образом, так как абсолютной случайности не получится, генерирование чисел происходит по фиксированным алгоритмам).
from random import randrange # импортируем модуль для функии randrange
n = randrange(1, 101) # n и есть загаданное число
Осталось написать цикл. До тех пор, пока пользователь не угадает число, программа не будет останавливаться, но зато она будет давать подсказки: если введенное пользователем число больше загаданного, то будет выводиться сообщение "Вы ввели слишком большое число.", если меньше ‒ "Вы ввели слишком маленькое число."
while True:
guess = int(input("Ваша попытка:")) if guess == n:
print("Вы выиграли!") break
elif guess > n:
print("Вы ввели слишком большое число.") else:
print("Вы ввели слишком маленькое число.")
Ваша попытка:23 Вы ввели слишком большое число. Ваша попытка:11
Вы ввели слишком маленькое число. Ваша попытка:15 Вы ввели слишком маленькое число. Ваша попытка:20
Вы ввели слишком большое число. Ваша попытка:18 Вы ввели слишком большое число. Ваша попытка:17
Вы ввели слишком большое число. Ваша попытка:16 Вы выиграли!
В коде выше в while мы не написали никакого условия явно, вместо этого мы написали while True. Это выражение означает "до тех пор, пока мы не вышли из цикла". В нашем случае это равносильно "до тех пор, пока не столкнулись с break, пока наш ответ не совпал с загаданным числом.