Теория урока

10.4. Циклы for/else и while/else в Python

В предыдущем уроке вы разобрались с операторами break и continue. Еще ранее ознакомились с циклами while и for. Настало время объединить знания и изучить конструкции for/else и while/else.

Вообще, это те же самые циклы for и while, в которые, опционально, добавлен блок else:

Пример
for i in range(5):
    print(i)
else:
    print('Things are good')       

Казалось бы, чем этот код по функционалу отличается от этого:

Пример
for i in range(5):
    print(i)
print('Things are good')       

В данном случае – ничем. В прошлом уроке мы обогатили знания новым оператором break. Давайте применим его. Например, если переменная i равна трем, то мы прерываем цикл:

Пример
for i in range(5):
    print(i)
    if i == 3:
        break
else:
    print('Things are good')       

Теперь вы увидите разницу между предыдущим кодом и этим:

Пример
for i in range(5):
    print(i)
    if i == 3:
        break
print('Things are good')       

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

Конструкция while/else аналогична рассмотренной инструкции for/else.

В этом уроке еще раз рассмотрели инструкции while/else и for/else. Так же убедились, что в Python нет ненужных конструкций, просто некоторые подходят только для определенного класса задач.

ПРОЧИТАНО
Следующий урок
<
×
>