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

Опубликован: 15.11.2023 110

В Python блок else обычно используется в операторах сравнения if.

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

В определенных типах задач (например, проверка наличия какого-либо элемента в списке) эта конструкция может быть очень полезна.

В цикле for блок else выполняется только в том случае, если цикл не был прерван оператором break (при этом, оператор continue на блок else не влияет).

# Пример цикла for с else и break:

for num in range(10):
    if num == 5:
        break
    else:
        print(num, end=' ')
else:
    print('Цикл закончился')  # блок else не выполнен из-за break

0 1 2 3 4

# Пример цикла for с else и continue:

for num in range(10):
    if num == 5:
        continue
    else:
        print(num, end=' ')
else:
    print('Цикл закончился')  # continue не влияет на блок else

0 1 2 3 4 6 7 8 9 Цикл закончился

В цикле while блок else будет выполнен, если условие в while ложно.

!!! Важно отметить, что блок else не выполняется, если цикл while был прерван оператором break.

# Пример цикла while с else и break:

x = 0
while x < 10:
    if x == 5:
        break
    else:
        print(x, end=' ')
        x += 1
else:
    print('Цикл закончился')  # из-за break блок else не выполнен

0 1 2 3 4

# Пример цикла while с else, который выполняется после завершения цикла:

x = 0
while x < 10:
        print(x, end=' ')
        x += 1
else:
    print('Цикл закончился')

0 1 2 3 4 5 6 7 8 9 Цикл закончился

Похожие посты

Оценка основных статистических метрик набора данных в Python

Область эффективного использования lambda функции в Python

Логические выражения if ... else в Pythonic стиле

Способы удаления лишних пробелов в строке

Комментариев нет.