1、定义标记变量;利用变量值的变化退出循环 # 第一种嵌套形式

a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]

# init_i = 0

# init_j = 0

flag = True

for i in range(3):

for j in range(3):

# print(i, j)

if a[i][j] == 5:

flag = False

init_i = i

init_j = j

break

if not flag:

break

print(init_i, init_j)

print(i, j)

# 第二种嵌套形式

flag = True

while flag:

for i in range(10):

print(x)

flag = False

break

2、使用函数配合return关键字 实现跳出循环(在函数内部只要执行完return语句 则直接退出函数) def test():

while True:

for x in range(10):

print(x)

return

test()

3、利用else continue 和外层的break跳出循环 a = [[1, 2, 3], [5, 5, 6], [7, 8, 9]]

init_i = 0

init_j = 0

flag = True

for i in range(3):

for j in range(3):

# print(i, j)

if a[i][j] == 5:

flag = False

init_i = i

init_j = j

break

else:

continue

break

# if not flag:

# break

print(init_i, init_j)

print(i, j)

while True:

for x in range(4):

print(x)

if x == 2:

break

else:

print("未执行")

continue

break

python跳出多层循环的方法

今天同事问我一个python面试题,关于python跳出多层循环,原来还真没用过,网上一查还真有点意思,下面记录一下:

Python 本身没有“break n” 和“goto” 的语法,这也造成了Python 难以跳出多层(特定层数)循环。下面是几个跳出多层(特定层数)循环的tip。

1、自定义异常 class getoutofloop(Exception): pass

try:

for i in range(5):

for j in range(5):

for k in range(5):

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

raise getoutofloop()

else:

print i, '----', j, '----', k

except getoutofloop:

pass

2、封装为函数return def test():

for i in range(5):

for j in range(5):

for k in range(5):

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

return

else:

print i, '----', j, '----', k

test()

3、for ... else ... 用法

上面的两种都是只能跳出多层而不能跳出特定层数的循环,接下来的这个正是为了跳出特定层数的循环。 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: continue

break

else: continue

break

else在 while和for 正常循环完成之后执行,和直接写在 while和for 之后没有区别,但是如果用break结束循环之后else就不会执行了。这也是个很新奇的做法。

才知道原来可以作为跳出多层循环用。不过要是有多次跳出不同层的循环的需求,也没辙了。

总结

以上所述是小编给大家介绍的python中退出多层循环的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

python从多层循环嵌套中退出_python中退出多层循环的方法相关推荐

  1. python循环语句打印矩形_Python中使用循环语句打印三角形、菱形

    原博文 2017-08-19 11:20 − 前言:在学习开发语言循环语句的使用过程中,经常会打印各种形状来验证对循环语句的熟练掌握程度,接下来就使用python来打印多种形状练习. 如下示例中:变量 ...

  2. python 循环语句结果存储_Python条件语句和循环语句

    前言 通常都听到别人说,计算机很牛逼,很聪明,其实计算机一点都不聪明,光是你要跟他沟通,都会气 shi 你,聪明的是在写程序的你. 写程序就是跟计算机沟通,告诉它要做什么. 竟然是这样,那么肯定缺少不 ...

  3. python协程实现一万并发_python中的协程并发

    python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程.无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态 ...

  4. python之33个关键字详解_Python 中的关键字 with 详解

    在 Python 2.5 中,with关键字被加入.它将常用的 try ... except ... finally ...模式很方便的被复用.看一个最经典的例子: with open('file.t ...

  5. 汇编语言 循环嵌套 将datasg段中每个单词改为大写字母 改进版

    题目要求 将datasg段中每个单词改为大写字母 思路 注意用al存放ascii即可 大写对应的ascii第五位是0,除了第五位以外不变 and al,11011111b 注意循环嵌套的时候 只有一个 ...

  6. python如何关闭窗口仍能运行_Python在退出时关闭自己的CMD shell窗口

    让我们首先分析两个发布的Python脚本行在执行Python脚本时真正做了些什么.感谢eryksun进行深入调查,真正使用Python导致正确的描述,现在可以在下面阅读. os.system()导致在 ...

  7. python 线程退出_python线程退出

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 如果某线程并未使用很多 io 操作, 它会在自己的时间片内一直占用处理器(和 g ...

  8. 用python生成九九乘法表的指令_Python中生成九九乘法表的方法有哪几种?

    九九乘法表是我们计算的基础,在Python中可以生成九九乘法表.大致有三种方法:列表推导式法.for循环法.while嵌套循环法.具体使用代码请看本文. 方法一.列表推导式法for i in rang ...

  9. python包里面的dll是什么_Python中的包ImportError

    前言 Python中的包给我提供了很好的代码组织,相似的功能模块放在同一个包内,不仅代码结构清晰,而且调用起来也比较方便(可以用*导入) 但是,我们在刚开始使用Python包的时候总是会遇到导入错误& ...

最新文章

  1. flutter打包的app有多大_Flutter-最近搞了个项目(常用控件,第三方基本库)-底部导航,登录,启动画面,webview等...
  2. 如何检查linux是否安装了php
  3. dede php 循环,织梦怎么循环调用多级子栏目如二级栏目下三级栏目
  4. linux系统中用户切换
  5. 【技巧】解决win10的1803版本下,无法收到1809推送、从而无法更新到1903版本的问题。...
  6. BZOJ2490 Zombie’s Treasure Chest
  7. PAT Broken Keyboard (20)
  8. 可以响应各个方向CompoundDrawables点击操作的TextView的使用
  9. 个人日记2016年12月19日21:31:46
  10. Sql 中的变量使用
  11. 浅谈HR谈薪水的技巧
  12. mysql linux64安装----转载
  13. Spring AOP源码分析(二)JDK动态代理和CGLIB介绍
  14. Git学习总结(25)——Git 常用的分支开发模式及规范总结
  15. mysql 5.7 多条件 in_5分钟了解MySQL5.7对in用法有什么黑科技
  16. JavaScript的类型转换(字符转数字,数字转字符)
  17. 多媒体计算机音频怎么连接,解决电脑连多媒体为什么没有声音
  18. java实训心得体会3篇_java实训心得体会3篇
  19. win2008服务器共享文件夹权限设置,win2008文件夹共享权限怎么设置
  20. easyUi combobox setValue 引起的关于js的坑

热门文章

  1. windows10怎么安装python第三方库_怎么在windows下安装python第三方包
  2. 台达b2伺服说明书_三菱Q系列定位模块及伺服参数不会设置?看这一篇就够了!...
  3. python怎么读取word文件_python之python-docx编辑和读取word文档
  4. PCB板设计的12个细节,你做对了吗?
  5. mysql 中有没有临时表_MySQL 中的两种临时表
  6. 变频器输出功率_工业电气设计|变频器的输出功率该如何选择?
  7. assignment symbolic automaton verilog设计
  8. 双曲线和直线联立公式_圆锥曲线联解公式
  9. 博途pcpg接口无法选择_博途TIA功能,如何创建一个S7-1200的项目及硬件组态?
  10. linux配置串口不支持serial,linux 串口serial1和serial2不能用?