求助!
请问,如何一次性退出多层循环?(实际情况:做pygame的时候有多个窗口(不同时出现),有先后关系)
注:针对大部分情况,故不附代码
try:
while True:
try:
while True:
try:
while True:
x = int(input('想要跳出几层循环:'))
if x == 1: raise TypeError
elif x == 2: raise ZeroDivisionError
elif x == 3: raise ValueError
except TypeError:
print('1')
except ZeroDivisionError:
print('2')
except ValueError:
print('3') 本帖最后由 isdkz 于 2023-1-13 19:08 编辑
三种办法:
一、可以用抛出异常来实现
参考代码:
try:
while True:
while True:
while True:
print('直接退出多层循环')
raise Exception
except:
print('多层循环被退出了')
二、封装成函数,使用 return
参考代码:
def test():
while True:
while True:
while True:
print('直接退出多层循环')
return
test()
print('多层循环已经被退出了')
三、利用循环的 else 语法和 continue 结合(这个需要慢慢消化,理解了循环的 else 用法就能理解为什么可以这样子了):
参考代码:
while True:
while True:
while True:
print('直接退出多层循环')
break
else:
continue
break
else:
continue
break
print('多层循环已经被退出了')
页:
[1]