Alterna · учебный материал

Цикл while

36.2: Цикл while. Короткая теория, один пример и пошаговая трасса Python.

Что в этом материале

Содержание и основные понятия

while повторяет тело, пока условие истинно. Его выбирают, когда число повторений заранее неизвестно, но известен критерий продолжения.
суть и практика
8 класс
ОГЭ №6
ОГЭ №16
ЕГЭ №25
01
Как это устроено
while повторяет тело, пока условие истинно. Он нужен, когда конец обработки определяется данными, а не заранее известным количеством повторений.
Инициализация.
Создаёт состояние до первой проверки.
Условие.
Проверяется до каждой итерации; ложное условие сразу завершает цикл.
Прогресс.
Хотя бы одна переменная условия должна приближать цикл к остановке.
Сентинел.
Специальное значение завершает поток данных и не всегда входит в обработку.
02
Один пример в исполнении
Запусти короткую программу и переходи по строкам. Визуализатор показывает только код, текущую строку, переменные и вывод.
Цикл
while n > 0
естественно разбирает цифры положительного числа, потому что
n //= 10
уменьшает его. При
n = 0
тело не выполнится, поэтому нулевое число обрабатывают отдельно, если это нужно условию.
break
немедленно покидает ближайший цикл;
continue
пропускает оставшуюся часть текущей итерации. Оба оператора нужны редко: прежде чем применять их, попробуй выразить правило обычным условием.
Карта алгоритма
Читай слева направо, затем запускай код.
1
Начало
2
Взять следующее значение
3
Значение равно 0?
4
Да: закончить · Нет: проверить
5
Добавить допустимое в total
03
Запомнить
Проверь, что условная переменная действительно меняется.
Сентинел 0 не должен случайно попасть в сумму, если условие этого не требует.
При n = 0 цикл while n > 0 имеет ноль итераций: обработай этот случай отдельно, если нужен ответ 1.
Синтаксис этой страницы
while condition:
Повторяет блок, пока condition истинно.
break
Немедленно завершает ближайший цикл.
continue
Переходит к следующей проверке цикла, пропуская остаток тела.
//=
Сокращённое целочисленное деление, часто уменьшающее число при разборе цифр.
True
Логическая константа; while True требует явного break.
int(input())
Читает очередное число потока.
print
Выводит итог после остановки.

Структурная карта учебников