Python跳出多重循环的方法示例


Posted in Python onJuly 03, 2019

方法1:自定义异常

# -*- coding:utf-8 -*-
 
"""
功能:python跳出循环
"""
# 方法1:自定义异常
 
 
class Getoutofloop(Exception):
  pass
try:
  for i in range(5):
    for j in range(5):
      if i == j == 2:
        raise Getoutofloop()
      else:
        print i, '----', j
except Getoutofloop:
  pass

方法2:将循环封装为函数,return

# -*- coding:utf-8 -*-
 
"""
功能:python跳出循环
"""
# 方法2:封装为函数,return
 
 
def test():
  for i in range(5):
    for j in range(5):
      if i == j == 2:
        return
      else:
        print i, '----', j
 
test()

方法3:用for...else...语句

# -*- coding:utf-8 -*-
 
"""
功能:python跳出循环
"""
# 方法2: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:    # else1
      continue
    break    # break1
  else:      # else2
    continue
  break      # break2

方法3解释:
(1)break能跳出某一重循环(该重循环的本次及剩余次数都不再执行),但并不能跳出该重循环的其他外重循环。

例如,最内第3重循环break之后,程序返回第2重循环继续执行第2重的下一次,然后第3重循环将再次执行。

(2)continue是跳过某一重循环的某一次,但该重循环的剩余次数会继续执行。

(3)for...else:其中else块中的语句将在for循环完整执行过之后才会被执行,如果for循环被break,则else块将不会被执行。

(4)方法3中,当第3重循环满足i == j == k ==3时,第3重循环被break,则并列的else1将跳过,执行break1,导致第2重循环

被终止,则else2被跳过,执行break2,导致第1重循环被终止。

最终实现跳出整个循环。

for...else加break举例:

# -*- coding:utf-8 -*-
 
"""
功能:for...else语句
"""
 
for i in range(5):
  print i
else:
  print u"循环完整执行一次。"
 
for j in range(6):
  for k in range(6):
    print j, k
    if j == 3:
      print u"内重循环即将被break"
      break
  else:
    print u"内重循环完整执行一次。"
else:
  print u"外重循环完整执行一次。"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的GUI框架PySide的安装配置教程
Feb 16 Python
通过源码分析Python中的切片赋值
May 08 Python
Python 找到列表中满足某些条件的元素方法
Jun 26 Python
带你认识Django
Jan 15 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
python中append实例用法总结
Jul 30 Python
python如何使用socketserver模块实现并发聊天
Dec 14 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
Python自定义sorted排序实现方法详解
Sep 18 Python
python PIL模块的基本使用
Sep 29 Python
python切割图片的示例
Nov 12 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
Jan 22 Python
Python多版本开发环境管理工具介绍
Jul 03 #Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 #Python
Python flask框架post接口调用示例
Jul 03 #Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 #Python
python调试神器PySnooper的使用
Jul 03 #Python
详解DeBug Python神级工具PySnooper
Jul 03 #Python
使用python来调用CAN通讯的DLL实现方法
Jul 03 #Python
You might like
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php中的MVC模式运用技巧
2007/05/03 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
php session劫持和防范的方法
2013/11/12 PHP
十个PHP高级应用技巧果断收藏
2015/09/25 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
js电话号码验证方法
2015/09/28 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
基于JavaScript实现单选框下拉菜单添加文件效果
2016/06/26 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
Node.js编写CLI的实例详解
2017/05/17 Javascript
JS作用域链详解
2017/06/26 Javascript
[48:39]Ti4主赛事胜者组第一天 EG vs NEWBEE 2
2014/07/19 DOTA
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
Python探索之pLSA实现代码
2017/10/25 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
如何基于python实现脚本加密
2019/12/28 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
车间班组长岗位职责
2013/11/13 职场文书
学生操行评语大全
2014/04/24 职场文书
房产公证委托书范本
2014/09/20 职场文书
公司行政管理制度范本
2015/08/05 职场文书