Циклы позволяют выполнять некоторое действие в зависимости от соблюдения некоторого условия. В языке Python есть следующие типы циклов:
Цикл while проверяет истинность некоторого условия, и если условие истинно, то выполняет инструкции цикла. Он имеет следующее формальное определение:
while условное_выражение:
инструкции
После ключевого слова while указывается условное выражение, и пока это выражение возвращает значение True
, будет выполняться блок инструкций, который идет далее.
Все инструкции, которые относятся к циклу while, располагаются на последующих строках и должны иметь отступ от начала ключевого слова while.
number = 1
while number < 5:
print(f"number = {number}")
number += 1
print("Работа программы завершена")
В данном случае цикл while будет выполняться, пока переменная number меньше 5.
Сам блок цикла состоит из двух инструкций:
print(f"number = {number}")
number
Обратите внимание, что они имеют отступы от начала оператора while - в данном случае от начала строки. Благодаря этому Python может определить, что они принадлежат циклу. В самом цикле сначала выводится значение переменной number, а потом ей присваивается новое значение.
Также обратите внимание, что последняя инструкция print("Работа программы завершена")
не имеет отступов от начала строки, поэтому она не входит в цикл while.
Весь процесс цикла можно представить следующим образом:
Сначала проверяется значение переменной number - меньше ли оно 5. И поскольку вначале переменная равна 1, то это условие возвращает True
, и поэтому выполняются инструкции цикла
Инструкции цикла выводят на консоль строку number = 1
. И далее значение переменной number увеличивается на единицу - теперь она равна 2. Однократное выполнение блока инструкций цикла называется итерацией. То есть таким образом, в цикле выполняется первая итерация.
Снова проверяется условие number < 5
. Оно по прежнему равно True, так как number = 2, поэтому выполняются инструкции цикла
Инструкции цикла выводят на консоль строку number = 2
. И далее значение переменной number опять увеличивается на единицу - теперь она равна 3. Таким образом, выполняется вторая итерация.
Опять проверяется условие number < 5
. Оно по прежнему равно True, так как number = 3, поэтому выполняются инструкции цикла
Инструкции цикла выводят на консоль строку number = 3
. И далее значение переменной number опять увеличивается на единицу - теперь она равна 4. То есть выполняется третья итерация.