В Python цикл while может иметь необязательное условие else. Цикл while используется для многократного выполнения блока операторов до тех пор, пока не будет выполнено заданное условие. А когда условие становится False, выполняется строка сразу после цикла в программе.
После цикла while мы можем поместить оператор else, который будет выполнен, если условие while станет ложным. Давайте посмотрим, пока еще в деталях.
Что такое while else в Python?
С помощью цикла while else в Python мы можем запустить блок кода один раз. Цикл while многократно выполняет целевой оператор, пока заданное условие истинно.
Синтаксис while else
|
1 2 3 4 5 6 7 |
while condition statement(s) else statement(s) |
В этом синтаксисе условие проверяется в начале каждой итерации. Блок кода внутри оператора while будет выполняться до тех пор, пока условие истинно.
Когда условие становится ложным и цикл работает нормально, выполняется предложение else. Однако, если цикл прерывается преждевременно оператором break или return, предложение else вообще не будет выполнено.
Предложение else выполняется только тогда, когда ваше условие while становится ложным. Под этим я подразумеваю, что ваше состояние while переходит из состояния true в false, а затем выполняется else. Однако, если while никогда не будет истинным, предложение else все равно будет выполнено. А простой синтаксис цикла while следующий.
Предложение else выполняется, если вы выходите из блока обычным образом, выполнив условие цикла или выпав из нижней части блока try. Оно не выполняется, если вы прерываете или возвращаетесь из блока или вызываете исключение. Работает не только с циклами while и for, но и с блоками try.
Синтаксис цикла while
|
1 2 |
while expression: statement(s) |
Здесь statement(s) может быть одиночным оператором или блоком операторов.
Реализация конструкции while else
Давайте возьмем пример оператора while else.
|
1 2 3 4 5 6 7 |
data = 11 while data < 19: print(data) data += 1 else: print("data is no longer less than 19") |
Вывод:
|
1 2 3 4 5 6 7 8 9 |
11 12 13 14 15 16 17 18 data is no longer less than 19 |
Из вывода видно, что предложение else выполняется, когда условие while оценивается как ложное. Оператор while используется для повторного выполнения, пока выражение истинно.
Если изначально условие ложно, то выполняется else-clause.
|
1 2 3 4 5 6 7 |
data = 1921 while data < 19: print(data) data += 1 else: print("data is no longer less than 19") |
Вывод:
|
1 |
data is no longer less than 19 |
В этом примере данных не меньше 19, поэтому он напрямую выполняет оператор else.
