python跳出多重循环
# -*- coding=utf-8 -*- """
如何结束多重循环,在单层循环中,可以用break跳出循环,那两层,三层呢?
"""
# 用异常:
# 定义一个异常如果value >= 10,触发异常,切记,当循环在函数中时,
# 且函数中循环片段后还有代码时,不能直接return,这样会导致函数整体结束
#正确的方式为:
import datetime
class Gt_10(Exception):
"""docstring for Gt_10"""
def __init__(self, arg):
self.arg = arg def doSomething():
print("will start doSomething")
try:
for i in range(20):
for k in range(20):
for j in range(20):
if j >= 10:
raise Gt_10("值大于10")
else:
print(j)
except Gt_10 as e:
print(e)
print('end doSomething')
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
doSomething() # 将循环封装为单独的函数:
def multi_for(*arg,**kwarg):
for i in range(20):
for k in range(20):
for j in range(20):
if j >= 10:
return
else:
print(j)
continue
def doSomething1():
print("will start doSomething")
multi_for()
print('end doSomething')
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")) doSomething1() # for--else
# 在python中,else不只和if组合,还可以和while,for组合
def doSomething2():
print("will start doSomething")
for i in range(20):
for k in range(20):
for j in range(20):
if j >= 10:
break
else:
print(j)
continue
else:
continue
break
else:
continue
break
print('end doSomething')
print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
doSomething2() """
output>>
will start doSomething
0
1
2
3
4
5
6
7
8
9
值大于10
end doSomething
2019-03-25 17:13:09 will start doSomething
0
1
2
3
4
5
6
7
8
9
end doSomething
2019-03-25 17:13:09 will start doSomething
0
1
2
3
4
5
6
7
8
9
end doSomething
2019-03-25 17:13:09
"""
可以看出,三种方法都实现了多重循环的跳出,但是从代码可读性上讲,我更推荐使用第二种,函数封装多循环
python跳出多重循环的更多相关文章
- Python 跳出多重循环
Python 本身没有“break n” 和“goto” 的语法,这也造成了Python 难以跳出多层(特定层数)循环.下面是几个跳出多层(特定层数)循环的tip. 1.自定义异常 class g ...
- python跳出多重循环的方法
方法1:自定义异常 # -*- coding:utf-8 -*- """ 功能:python跳出循环 """ # 方法1:自定义异常 cla ...
- Python 如何跳出多重循环
Python 如何跳出多重循环 抛异常 return
- python退出多重循环
假设一段python程序有多重循环,我们都知道在一个循环当中,用break是退出当前的循环,然后继续下一次循环,但是如何才能跳出多重循环呢,实际就是结束所有的循环. 思路1::可以定义一个异常类,在需 ...
- Python中断多重循环的几种思路exit_flag
常见方法 II. 跳出多重循环 事实上,Python的标准语法是不支持跳出多重循环的,所以只能利用一些技巧,大概的思路有:写成函数.利用笛卡尔积.利用调试. 写成函数 在Python中,函数运行到re ...
- Python中断多重循环的几种思路
I. 跳出单循环 不管是什么编程语言,都有可能会有跳出循环的需求,比如枚举时,找到一个满足条件的数就终止.跳出单循环是很简单的,比如 for i in range(10): if i > 5: ...
- Java之跳出多重循环
在java里,想要跳出多重循环,有两种方法 1.在循环语句前设置一个标记,然后使用带有该标记的break语句跳出该循环 public static void main(String args[]) { ...
- 关于Java 中跳出多重循环
前言 环境:window10 JDK 1.8 应用场景:在多个for循环或while循环中,直接跳到最外层的循环外面,而不是需要层层退出来. 使用: 使用一个标签label(也可以是其他单词,不能是关 ...
- JS 跳出多重循环
今天学到了如何跳出多重循环
随机推荐
- Spring学习(五)——集成MyBatis
本篇我们将在上一篇http://www.cnblogs.com/wenjingu/p/3829209.html的Demo程序的基础上将 MyBatis 代码无缝地整合到 Spring 中. 数据库仍然 ...
- DataTable转List<T>
/// <summary> /// DataTable转List<T> /// </summary> public static class TableToList ...
- python3.7使用models.ForeignKey时一定要传入实参on_delete=models.CASCADE
models.ForeignKey 模型中最重要的部分——以及模型中唯一需要的部分——是它定义的数据库字段列表.字段由类属性指定.注意不要选择与模型API冲突的字段名称,如清除.保存或删除. from ...
- AT指令框架的实现
AT指令概述 AT指令是应用于终端设备与PC应用之间的连接与通信的指令.AT 即Attention.每个AT命令行中只能包含一条AT指令:对于AT指令的发送,除AT两个字符外,最多可以接收1056个字 ...
- 函数IsValid()
功能:检查对象变量是否已经实例化,即实例变量的值是否是个有效的对象句柄. 语法:IsValid(objectname) 参数:objectname:要检查的对象名. 返回值:Boolean.如果指定对 ...
- pageadmin CMS Sql Server2008 R2数据库安装教程
sql sever数据库建议安装sql2008或以上版本,如果电脑上没有安装数据库,参考下面步骤安装. sql2008 r2下载地址:点击下载 提取码: wfb4 下载后点击安装文件,安装步骤如下 ...
- iOS Apple Watch 开发
1. Watch OS 1 与 Watch OS 2 的区别 : OS 1 中界面运行在手表上,而代码(Extension)运行在手机端:OS 2 是纯正的手表原生(Native)应用 由于架构的改变 ...
- 音频audio,加层父级
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- LCS - Longest Common Substring(spoj1811) (sam(后缀自动机)+LCS)
A string is finite sequence of characters over a non-empty finite set \(\sum\). In this problem, \(\ ...
- 【vue】——使用watch 观察路由变化,重新获取内容
更新:11-29 时隔半年,又重新使用VUE进行开发,有了新方案--beforeRouteLeave 在组件内直接使用,前提是你用了vue-router: beforeRouteLeave (to, ...