5 способов выйти из вложенного цикла в Python

5 способов выйти из вложенного цикла в Python Статьи

Введение

В ходе статьи разберём 5 способов выйти из вложенного цикла при помощи Python.

Добавление переменной-флага

Для выхода из вложенного цикла можно использовать переменную-флаг. Для этого нужно её задать заранее, до создания основного цикла:

flag = False

Далее, после выполнения каких-либо действий/условий во вложенном цикле меняем значение переменной flag на True, и используем break для выхода. В основном цикле задаём условие, что если flag является True, то завершаем его работу:

flag = False
for i in range(5):
    for j in range(5):
        if j == 2 and i == 0:
            flag = True
            break
    if flag:
        break

Вызов исключения

Для использования данного метода нужно поместить основной цикл в конструкцию try … except. После выполнения условия сгенерируем исключение StopIteration при помощи raise:

try:
    for i in range(5):
        for j in range(5):
            if j == 2 and i == 0:
                raise StopIteration  # Останавливаем итерации
except StopIteration:
    print('Вы вышли из цикла!')

Повторная проверка условия

В данном способе мы просто в основном цикле проверяем то же самое условие, что и во вложенном:

for i in range(5):
    for j in range(5):
        if j == 2 and i == 0:
            break
    if j == 2 and i == 0:
        break

Конструкция for-else

Для выхода из вложенного цикла также можно использовать else, которое будет срабатывать, если во вложенном цикле не было сработано break. Если же во вложенном цикле сработал break, то else будет проигнорировано и сработает break уже в основном цикле:

for i in range(5):
    for j in range(5):
        if j == 2 and i == 0:
            break
    else:  # сработает, только если во внутреннем цикле нет break
        continue
    break

Создание функции

Можно просто создать функцию, и поместить в неё наш основной цикл, в котором находится вложенный. Таким образов во вложенном цикле будет производиться выход путём срабатывания return:

def func():
    for i in range(5):
        for j in range(5):
            if j == 2 and i == 0:
                return
func()  # Вызов функции

Видеоурок

Заключение

В ходе статьи мы с Вами разобрали целых 5 способов выйти из вложенного цикла в Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Admin
Admin
IT Start