Цикл while является самой универсальной конструкцией для организации итераций в языке программирования Python. Данный цикл продолжает выполнять блок инструкций до тех пор, пока условное выражение продолжает возвращать истину. Конструкция while называется циклом, потому что управление циклически возвращается к началу инструкции, пока условное выражение не вернет ложное значение. Тело цикла продолжает выполняться до тех пор, пока условное выражение истинно, если выражение изначально ложно, то тело цикла не будет выполнено.
Цикл while состоит из строки заголовка с условным выражением, тела цикла, содержащего одну или более инструкций с отступами, и необязательной части else, которая
выполняется, когда не используется инструкция break.
В общем виде конструкцию цикла можно представить следующим образом:
while <test_1>: #Условное выражение test_1
< statements_1> #Тело цикла
else: #Необязательная часть
<statements_2> #Выполняется, если условие не выполняется и нет
остановки цикла инструкцией break.
Инструкция break вызывает немедленный выход из цикла. Все что находится в программном коде после этой инструкции, не выполняется. Блок else выполняется также в том случае, когда тело цикла ни разу не выполнялось, поскольку в этой ситуации инструкция break также не выполняется. В циклах while это происходит, когда первая проверка условия в заголовке дает ложное значение.
Приведем пример цикла с инструкцией break:
while <test_1>:
<statements_1>
if <test_2>: break #Выйти из цикла, пропустив часть else
else:
<statements_2> #Выполняется, если не была использована конструкция
break.
Циклы удобно использовать там, где надо повторно выполнять некоторые действия или многократно обрабатывать данные.
Цикл for относится к категории счетных циклов. Обычно он выглядит проще и работает быстрее, чем цикл while, поэтому его нужно рассматривать в самую первую очередь, когда возникает необходимость выполнить обход последовательности.