python循环三次跳出循环_Python3 跳出多重循环 for...else...
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...相关推荐
- phpbreak跳出几层循环_php中break如何跳出多重循环的示例代码
break是被用在上面所提的各种循环和switch语句中的.他的作用是跳出当前的语法结构,执行下面的语句.break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出 ...
- break怎么跳出多层循环C语言,C/C++ 跳出多重循环方法
C/C++ 跳出多重循环方法 c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法: 1. 使用goto for (int i = 0; i ...
- Java跳出多重循环
From: https://www.cnblogs.com/fastfn/p/9777067.html 场景:很多的时候需要做到跳出多重循环,而在Java中虽然后goto关键字,但是是保留字,并没有启 ...
- 跳出多重循环_代码里的俄罗斯套娃 | 07 多重循环
点击上方 蓝字 关注我们 前情提要:刚上二年级的小红正在学习九九乘法表,老师说明天上课时要抽查,但她总是记不熟,你能写个程序帮帮她吗? 是不是想到了我们上一期学的For循环遍历,刚好可以用上.但好像又 ...
- java停止循环label_Java中的break Label 和continue Label 例子(跳出多重循环)(转)...
Java中的break Label 和continue Label 例子(跳出多重循环)(转) (2011-03-14 16:20:32) 标签: it 1:break break语句提供了一种方便的 ...
- php 两层便利的break,php break跳出多重循环实例
break是被用在上面所提的各种循环和switch语句中的.他的作用是跳出当前的语法结构,执行下面的语句.break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出 ...
- python 跳出for循环_Python跳出多重循环的方法
方法1:自定义异常# -*- coding:utf-8 -*- """ 功能:python跳出循环 """ # 方法1:自定义异常 clas ...
- python continue语句的用法(跳过本次循环,不是跳出整个循环,break才是跳出整个循环)
Python continue 语句跳出本次循环,而break跳出整个循环. continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环. continue语句用在whi ...
- Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)
一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False:print("-第一层")whil ...
最新文章
- 波士顿动力一只48.8万,美女沙滩遛「狗」,网友直呼:壕
- CISSP备考系列之行政性管理[10-37]
- linux设定时间查看文件,查看linux系统,服务,配置文件被修改的时间
- mysql 导入unl文件_Informix和Oracel数据库导入UNL数据
- java判断方法_Java常用的判断方法
- uniapp ios时间戳获取不到_2折甩卖、货架被抢空…青岛这家大超市要关门,开业不到两年!停业时间戳...
- 最小树形图(bzoj 4349: 最小树形图 2260: 商店购物)
- 为什么使用close()关闭所打开文件
- 会计与计算机融合的会计论文,管理会计与财务会计融合浅析论文
- 【windows】常见的系统环境变量,如%appdata%表示什么意思
- 无座火车票为什么不能半价?
- Word怎么在图片上制作一个简历封面?
- 京东图书详情页定价获取
- 图深度学习——卷积神经网络循环神经网络自编码器
- 教你如何搭建自己的图床
- 命题作文:Dimension Tree区间查找与IP数据包分类
- 适合问卷收益的10个精品项目
- pascal和python的区别_C语言和Pascal语言的区别,要详细。
- 3dmax常用快捷键来了!!
- ROS中的tf与Eigen的转换
热门文章
- ASP.NET伪静态的实现及伪静态的意义
- Linux 禁止和开启 ping 的方法
- elasticsearch服务相关脚本
- postgres数据库常见报错
- 初学者必备Linux指令
- php asort,PHP asort() 函数
- hadoop异常: java.io.EOFException: Unexpected end of input stream
- win10 快速访问存在 2345Downloads 删除解决方案
- Visual Studio 2010 - 推荐的扩展[关闭]
- 在Android 6.0 Marshmallow(API 23)上弃用了getColor(int id)