Python循环跳出有break和continue,但是每次只能提前结束或中止当前层的循环。可否从内层循环跳出外层循环呢?

Python跳出多层循环的方法可以考虑以下几种方法:

1.封装函数,利用return.

2.自定义异常,跳出循环。

3.(本次随笔的重点)用for...else...语句

for a in xrange(10):

for b in xrange(20):

if something(a, b):

# Break the inner loop...

break

else:

# Continue if the inner loop wasn't broken.

continue

# Inner loop was broken, break the outer.

break

不只是if有,while和for都有else分支。循环体的else分支触发条件是循环正常结束。如果循环内被break跳出,就不执行else。所以这个逻辑是:如果循环内break了,不触发else,则执行下一句外层循环中的break;如果正常结束,执行else分支里的continue,直接跳转到外层循环的下一轮,跳过了第二个break。

【以下程序代码引自https://blog.csdn.net/churximi/article/details/51043595,仅供学习参考,如有不妥,请联系我删除。】

for i in range(5):

for j in range(5):

for k in range(5):

if i == j == k == 3:

break

else:

print(i, '----', j, '----', k)

else: # else1

continue

break # break1

else: # else2

continue

break # break2

【输出结果】

0 ---- 0 ---- 0

0 ---- 0 ---- 1

0 ---- 0 ---- 2

0 ---- 0 ---- 3

0 ---- 0 ---- 4

0 ---- 1 ---- 0

0 ---- 1 ---- 1

0 ---- 1 ---- 2

0 ---- 1 ---- 3

0 ---- 1 ---- 4

0 ---- 2 ---- 0

0 ---- 2 ---- 1

0 ---- 2 ---- 2

0 ---- 2 ---- 3

0 ---- 2 ---- 4

0 ---- 3 ---- 0

0 ---- 3 ---- 1

0 ---- 3 ---- 2

0 ---- 3 ---- 3

0 ---- 3 ---- 4

0 ---- 4 ---- 0

0 ---- 4 ---- 1

0 ---- 4 ---- 2

0 ---- 4 ---- 3

0 ---- 4 ---- 4

1 ---- 0 ---- 0

1 ---- 0 ---- 1

1 ---- 0 ---- 2

1 ---- 0 ---- 3

1 ---- 0 ---- 4

1 ---- 1 ---- 0

1 ---- 1 ---- 1

1 ---- 1 ---- 2

1 ---- 1 ---- 3

1 ---- 1 ---- 4

1 ---- 2 ---- 0

1 ---- 2 ---- 1

1 ---- 2 ---- 2

1 ---- 2 ---- 3

1 ---- 2 ---- 4

1 ---- 3 ---- 0

1 ---- 3 ---- 1

1 ---- 3 ---- 2

1 ---- 3 ---- 3

1 ---- 3 ---- 4

1 ---- 4 ---- 0

1 ---- 4 ---- 1

1 ---- 4 ---- 2

1 ---- 4 ---- 3

1 ---- 4 ---- 4

2 ---- 0 ---- 0

2 ---- 0 ---- 1

2 ---- 0 ---- 2

2 ---- 0 ---- 3

2 ---- 0 ---- 4

2 ---- 1 ---- 0

2 ---- 1 ---- 1

2 ---- 1 ---- 2

2 ---- 1 ---- 3

2 ---- 1 ---- 4

2 ---- 2 ---- 0

2 ---- 2 ---- 1

2 ---- 2 ---- 2

2 ---- 2 ---- 3

2 ---- 2 ---- 4

2 ---- 3 ---- 0

2 ---- 3 ---- 1

2 ---- 3 ---- 2

2 ---- 3 ---- 3

2 ---- 3 ---- 4

2 ---- 4 ---- 0

2 ---- 4 ---- 1

2 ---- 4 ---- 2

2 ---- 4 ---- 3

2 ---- 4 ---- 4

3 ---- 0 ---- 0

3 ---- 0 ---- 1

3 ---- 0 ---- 2

3 ---- 0 ---- 3

3 ---- 0 ---- 4

3 ---- 1 ---- 0

3 ---- 1 ---- 1

3 ---- 1 ---- 2

3 ---- 1 ---- 3

3 ---- 1 ---- 4

3 ---- 2 ---- 0

3 ---- 2 ---- 1

3 ---- 2 ---- 2

3 ---- 2 ---- 3

3 ---- 2 ---- 4

3 ---- 3 ---- 0

3 ---- 3 ---- 1

3 ---- 3 ---- 2

python循环三次跳出循环_Python3 跳出多重循环 for...else...相关推荐

  1. phpbreak跳出几层循环_php中break如何跳出多重循环的示例代码

    break是被用在上面所提的各种循环和switch语句中的.他的作用是跳出当前的语法结构,执行下面的语句.break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出 ...

  2. break怎么跳出多层循环C语言,C/C++ 跳出多重循环方法

    C/C++ 跳出多重循环方法 c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法: 1. 使用goto for (int i = 0; i ...

  3. Java跳出多重循环

    From: https://www.cnblogs.com/fastfn/p/9777067.html 场景:很多的时候需要做到跳出多重循环,而在Java中虽然后goto关键字,但是是保留字,并没有启 ...

  4. 跳出多重循环_代码里的俄罗斯套娃 | 07 多重循环

    点击上方 蓝字 关注我们 前情提要:刚上二年级的小红正在学习九九乘法表,老师说明天上课时要抽查,但她总是记不熟,你能写个程序帮帮她吗? 是不是想到了我们上一期学的For循环遍历,刚好可以用上.但好像又 ...

  5. java停止循环label_Java中的break Label 和continue Label 例子(跳出多重循环)(转)...

    Java中的break Label 和continue Label 例子(跳出多重循环)(转) (2011-03-14 16:20:32) 标签: it 1:break break语句提供了一种方便的 ...

  6. php 两层便利的break,php break跳出多重循环实例

    break是被用在上面所提的各种循环和switch语句中的.他的作用是跳出当前的语法结构,执行下面的语句.break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出 ...

  7. python 跳出for循环_Python跳出多重循环的方法

    方法1:自定义异常# -*- coding:utf-8 -*- """ 功能:python跳出循环 """ # 方法1:自定义异常 clas ...

  8. python continue语句的用法(跳过本次循环,不是跳出整个循环,break才是跳出整个循环)

    Python continue 语句跳出本次循环,而break跳出整个循环. continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环. continue语句用在whi ...

  9. Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)

    一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False:print("-第一层")whil ...

最新文章

  1. 波士顿动力一只48.8万,美女沙滩遛「狗」,网友直呼:壕
  2. CISSP备考系列之行政性管理[10-37]
  3. linux设定时间查看文件,查看linux系统,服务,配置文件被修改的时间
  4. mysql 导入unl文件_Informix和Oracel数据库导入UNL数据
  5. java判断方法_Java常用的判断方法
  6. uniapp ios时间戳获取不到_2折甩卖、货架被抢空…青岛这家大超市要关门,开业不到两年!停业时间戳...
  7. 最小树形图(bzoj 4349: 最小树形图 2260: 商店购物)
  8. 为什么使用close()关闭所打开文件
  9. 会计与计算机融合的会计论文,管理会计与财务会计融合浅析论文
  10. 【windows】常见的系统环境变量,如%appdata%表示什么意思
  11. 无座火车票为什么不能半价?
  12. Word怎么在图片上制作一个简历封面?
  13. 京东图书详情页定价获取
  14. 图深度学习——卷积神经网络循环神经网络自编码器
  15. 教你如何搭建自己的图床
  16. 命题作文:Dimension Tree区间查找与IP数据包分类
  17. 适合问卷收益的10个精品项目
  18. pascal和python的区别_C语言和Pascal语言的区别,要详细。
  19. 3dmax常用快捷键来了!!
  20. ROS中的tf与Eigen的转换

热门文章

  1. ASP.NET伪静态的实现及伪静态的意义
  2. Linux 禁止和开启 ping 的方法
  3. elasticsearch服务相关脚本
  4. postgres数据库常见报错
  5. 初学者必备Linux指令
  6. php asort,PHP asort() 函数
  7. hadoop异常: java.io.EOFException: Unexpected end of input stream
  8. win10 快速访问存在 2345Downloads 删除解决方案
  9. Visual Studio 2010 - 推荐的扩展[关闭]
  10. 在Android 6.0 Marshmallow(API 23)上弃用了getColor(int id)