退出特定的while循环

时间:2019-06-24 12:52:01

标签: python while-loop nested-loops

我可以打破嵌套的while循环吗?

我用黄色突出显示了代码中发生的事情。可以看出,如果条件为真,它将中断并执行第一条“退出”行。

有什么办法可以退出最后一个退出代码(标有蓝色环)


enter image description here

2 个答案:

答案 0 :(得分:2)

使用自定义例外进行爆发。

class ExitLoop(Exception):
    pass

try:
    while True:
        while other:
            raise ExitLoop()
except ExitLoop:
    exit()

答案 1 :(得分:1)

设置标志而不是破坏内部循环。如果设置了标志,则在外循环中断。

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