Если нужно сложить сотню введённых чисел, записывать сто одинаковых команд неудобно. Цикл позволяет описать повторяющуюся часть один раз. Каждое её выполнение называют итерацией. Команды, которые повторяются, образуют тело цикла, а управляющая часть определяет, когда его выполнять и когда остановиться.
Повторение связано с выбором: перед очередным шагом или после него проверяется возможность продолжения. Поэтому цикл содержит логику ветвления. Внутри тела могут находиться последовательные команды, условия и другие циклы. Последовательность, ветвление и цикл составляют три базовые управляющие конструкции.
Цикл с предусловием
В цикле «пока» условие проверяют перед телом. Если оно истинно, выполняется тело и проверка повторяется. Если ложно, управление переходит за цикл. Поэтому тело может не выполниться ни разу.
На Python 3 цикл с предусловием записывают с помощью while. Рассмотрим сумму положительных целых чисел от 1 до введённого неотрицательного n:
n = int(input())
total = 0
while i <= n:
i = i + 1
print(total)
Важен порядок команд. Если сначала увеличить i, программа начнёт складывать с 2 и изменит границы. Если забыть увеличение i, условие при n >= 1 останется истинным бесконечно. Для завершения нужно не просто менять переменную, а приближать состояние к тому, в котором продолжение невозможно.
Цикл с постусловием
В цикле с постусловием тело выполняют до первой проверки. Поэтому оно срабатывает хотя бы один раз. В конструкции «повторять до» повторение заканчивается, когда условие выхода становится истинным. В конструкции «делать, пока» проверяется условие продолжения. Эти формулировки противоположны по смыслу, и путать их нельзя.
Пример на понятном псевдокоде:


