Введение
В ходе статьи разберём 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. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂