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 跳出多重循环
今天学到了如何跳出多重循环
随机推荐
- java程序无法启动:Unsupported major.minor version 51.0
今天在sae上部署了一个项目,结果总是出现503错误:service unavailable,然后jvm出现了一大串错误日志,如下 JAVA_SAE_Fatal_error: Failed start ...
- SqlServer循环执行存储过程
begin --申明变量 ) declare @zycs int --赋值变量 --申明游标 declare order_cursor cursor for (select blh, zycs fro ...
- 二段Linq Groupby操作
var messages = list.GroupBy(p=>p.RefOrderNo,(k,v)=> new {OrderNo = k,SkuInfo = v}) .Select(p = ...
- 【分分钟内搭建一个带用户系统的博客程序(一)用户系统】asp.net core的Identity真香,EF真香!
不用不知道,一用香到爆. 老哥是个屌丝前端,但也想写点web应用耍一耍.之前弄过了NodeJs,也弄过JAVA,最近由于写游戏的原因用C#,索性上手一波asp.net core. 这篇博客记录的是,如 ...
- winform在A窗体刷新B窗体,并改变窗体的属性
//A窗体设置B窗体的属性并刷新B窗体 Application.OpenForm["窗体名称"].Controls["控件名称"].visible=true;
- Volo.Abp.EntityFrameworkCore.MySQL 使用
创建新项目 打开 https://cn.abp.io/Templates ,任意选择一个项目类型,然后创建项目,我这里创建了一个Web Api 解压项目,还原Nuget,项目目录如下: 首先我们来查看 ...
- jQuery--基本介绍与下载
本篇内容: 1.jquery学习内容 2.jquery下载,引用 3.使用顺序 4.版本 5.jquery对象与DOM对象转化 jQuery认识: jQuery学习内容 选择器 筛选器 样式操作 文本 ...
- .Net开发工程师笔试试题
第一部分[数据库技能] 附上自己做的答案,提出不足之处 现在有一个SQL Server 2000版本的数据库,里面包含有三个表Info.InfoReply.User,分别表示信息.信息评论和用户表,包 ...
- bzoj1047理想的正方形
题目链接 纪念又双叒叕的一道暴力碾标算的题 我们考虑纯暴力 #include<iostream> #include<cstdio> #include<algorithm& ...
- 【timeisprecious】【JavaScript 】JavaScript String 对象
JavaScript>String 对象 1 .From Runnob JavaScript String 对象(概览) JavaScript String 对象(教程)