Как выйти из 2 циклов Python?

Пользователь

от montana_hand , в категории: Python , 3 года назад

Как выйти из 2 циклов Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

@montana_hand  Самыми простыми способами для выхода из 2 циклов является вызов исключения и создание булевой переменной.


Решение через вызов исключения :

1
2
3
4
5
6
7
8
try:
    for i in range(10):
        for j in range(5, 10):
            if (i == j):
                raise StopIteration

except StopIteration:
    pass

Пользователь

от brook , 2 года назад

@montana_hand 

Если у вас есть два вложенных цикла в Python, и вы хотите выйти из обоих циклов одновременно, можно использовать ключевое слово break во внутреннем цикле, чтобы прервать его выполнение, и использовать метку (label) перед внешним циклом, чтобы прервать его выполнение изнутри:

1
2
3
4
5
6
7
for i in range(10):
    for j in range(10):
        if i * j > 30:
            break  # выходим из внутреннего цикла
    else:
        continue  # пропускаем else-блок, если был выполнен break
    break  # выходим из внешнего цикла


В этом примере мы используем break, чтобы выйти из внутреннего цикла, если условие i * j > 30 выполнено, а затем используем метку else и continue, чтобы пропустить оставшуюся часть внешнего цикла, если был выполнен break внутри внутреннего цикла. Наконец, мы используем еще один break, чтобы выйти из внешнего цикла, если условие выполнено.