Выход из определенного цикла while - PullRequest
0 голосов
/ 24 июня 2019

Можно ли выйти из вложенного цикла while?

Я выделил желтым цветом то, что происходит в моем коде. Как можно видеть, если условие истинно, оно прерывается и выполняется первая строка «выход».

Есть ли способ выйти из последнего кода выхода (отмечен синим кольцом)


enter image description here

Ответы [ 2 ]

2 голосов
/ 24 июня 2019

Используйте пользовательское исключение, чтобы вырваться.

class ExitLoop(Exception):
    pass

try:
    while True:
        while other:
            raise ExitLoop()
except ExitLoop:
    exit()
1 голос
/ 24 июня 2019

Вместо разрыва во внутреннем цикле установите флаг.При разрыве внешнего цикла, если установлен флаг.

flag = False
while True:
    if flag:
        break
    while otherCondition:
        try:
            flag = True
        except ValueError:
            print('oops')
...