Использование else с циклами

Использование else с циклами в Python позволяет выполнять дополнительный код после завершения цикла. else в циклах используется немного по-другому, чем в условиях. Рассмотрим, как работает else с циклами for и while.

Использование else с циклом for

Когда else используется с циклом for, его блок выполняется после завершения цикла, если цикл не был прерван с помощью break.

Пример: Цикл for и else

for i in range(5):
    print(i)
else:
    print("Цикл завершен.")

Вывод:

0
1
2
3
4
Цикл завершен.

В этом примере else выполняется после завершения цикла for, поскольку цикл прошел все итерации без прерывания.

Пример с использованием break

Если цикл for был прерван оператором break, блок else не будет выполнен.

for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("Цикл завершен.")

Вывод:

0
1
2

В этом примере цикл прерывается, когда i становится равным 3, поэтому блок else не выполняется.

Использование else с циклом while

Аналогично, в цикле while блок else выполняется, если условие цикла становится ложным и цикл завершается естественным образом, без прерывания break.

Пример: Цикл while и else

count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("Цикл завершен.")

Вывод:

0
1
2
3
4
Цикл завершен.

В этом примере else выполняется после завершения цикла while, поскольку условие count < 5 становится ложным и цикл завершается естественным образом.

Пример с использованием break

Если цикл while был прерван оператором break, блок else не будет выполнен.

count = 0
while count < 5:
    if count == 3:
        break
    print(count)
    count += 1
else:
    print("Цикл завершен.")

Вывод:

0
1
2

В этом примере цикл прерывается, когда count становится равным 3, поэтому блок else не выполняется.

Заключение

Оператор else в циклах for и while выполняется после завершения цикла, если цикл завершился естественным образом, без использования оператора break. Это поведение может быть полезным для выполнения кода, который должен запускаться только тогда, когда цикл завершил все итерации или условие цикла стало ложным, и при этом не произошло досрочного завершения.

Last updated