0


python跳出循环之break

python跳出循环之break

我们写循环的时候,会碰到两层或多层循环的情况,有些时候满足条件后需要跳出全部循环。
但是break只能跳出最近的一层循环。那如何解决这个问题呢?往下看...

第一种方法:利用函数的return

# 说明:return是结束函数的执行,直接返回defdoFn():for i inrange(1,5):for j inrange(5,10):if j==8:returnprint("i=%d j=%d"%(i,j))print("outer",i)
doFn()

使用 函数 测试效果截图:
效果图

第二种方法:利用for…else配合continue和外层循环体中的break跳出循环

# 说明:for循环执行完毕,则执行else,如果for循环体中有break并执行了break,else不执行for i inrange(1,5):for j inrange(5,10):if j ==8:breakprint("i=%d j=%d"%(i, j))else:continueprint("outer", i)break

测试效果截图:
效果图

第三种方法:利用自定义异常,来抛出异常,结束循环

classbreakLoopError(Exception):passtry:for i inrange(1,5):for j inrange(5,10):if j ==8:raise breakLoopError()print("i=%d j=%d"%(i, j))print("outer", i)except breakLoopError:pass

使用 自定义异常 测试效果截图:
效果图

第四种方法(不推荐):定义flag标志 配合break

flag =Truefor i inrange(1,5):for j inrange(5,10):if j ==8:
            flag =Falsebreakprint("i=%d j=%d"%(i, j))ifnot flag:breakprint("outer", i)

测试效果截图:
效果图
不推荐的原因是:如果循环有两层以上的情况,就要重复的判断flag,代码也重复,变得不好阅读、维护,代码累赘。…

最后

break只能跳出一层循环的代码就不附上了。

接着

此文的 python跳出循环之break 就到此结束了。

最最后,就再见了

标签: python

本文转载自: https://blog.csdn.net/qq_52722885/article/details/120343234
版权归原作者 爱听音乐的boy 所有, 如有侵权,请联系我们删除。

“python跳出循环之break”的评论:

还没有评论