大数据分析之Python进阶之路 3.5.3 跳出循环
沉沙 2019-07-10 来源 : 阅读 1077 评论 0

摘要:本篇文章探讨了大数据分析之Python进阶之路 3.5.3 跳出循环,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章探讨了大数据分析之Python进阶之路 3.5.3 跳出循环,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

大数据分析之Python进阶之路 3.5.3 跳出循环

"

3.5.3 跳出循环

在前面的介绍中,介绍了while循环,是通过while后面的条件表达式的值确定是否结束循环,不过在很多时候,需要在循环体内部之间跳出循环,这就需要使用到break语句。这个语句就是跳出循环,不在执行循环体。

x = 0while x < 100:    if x == 5:        break;
    print(x)
    x += 1
输出结果:
0
1
2
3
4

在上面的代码中,while循环的条件语句是x < 100,而x变量的初始值是0,因此,如果在while循环中,每次循环都对x变量值加1,那么while循环会循环100次。不过在while循环中通过if语句进行了判断,当x的值等于5时,执行break语句,就跳出循环,不在执行循环条件。所以这个while循环只会执行6次(x从0到5),当执行到最后一次的时候,执行了break语句退出while循环。而后面的语句都不会在去执行了。所以这段程序只会输出0到4,共5个数字。

与break语句对应的还有另外一个continue语句。与break语句不同的是,continue语句用来终止本次循环,而break语句用来彻底退出循环。continue语句终止本次循环后,会立刻开始执行下一次循环。

x = 0while x < 3:    if x == 1:        continue;
    print(x)
    x += 1      #这里为死循环
输出结果:(死循环)
0

在上面的代码中,当x等于1时,执行了continue语句,因此,if语句后面的所有语句都不会执行,while循环会继续执行下一次循环。不过这里有个问题,当执行这段代码时,会发现进入死循环了。所谓的死循环,是指while循环的条件表达式的值永远为True,也就是循环永远不会结束。死循环是在使用循环时经常容易犯的一个错误。

现在来分析一下这段代码。如果要让while循环正常结束,x必须大于或等于3,当x等于1时,执行了continue语句,所以if语句后面的所有语句在本次循环中都不会被执行了,但while循环最后一条语句是x += 1,这条语句用于在每次循环中将x变量的值加1.但这次没有加1,所以下一次循环,x变量的值仍然是1,也就是说,if语句的条件永远满足,因此continue语句将永远执行下去,所以x变量的值永远不可能大于或等于3了。最终导致的后果就是while循环中的语句会永远执行下去,也就是前面提到的死循环。

解决的方法也很简单,只要保证执行continue语句之前让变量x加1即可。或者将x += 1放到if语句的前面,或方到if语句中。

x = 0while x < 3:    if x == 1:
        x += 1      #需要在此处为x加1,否则将进入死循环        continue
    print(x)
    x += 1

break和continue语句同样支持for循环,而且支持嵌套循环。不过要注意,如果在嵌套循环中使用break语句,那么只能退出当前层的循环,不能退出最外层的循环。在下面的实例3.8中会演示循环更复杂的使用方法。

[例 3.8] 本例除了演示while和for循环的基本用法以外,还在满足一定条件的前提下,通过break语句终止了整个while和for循环,以及使用continue语句终止了while和for语句的本次循环,最后再while循环中嵌套了一个for循环,从而形成一个嵌套循环,在这个嵌套循环中,输出了二维列表中的所有元素值。在Python语句中,嵌套循环可以嵌套任意多层的循环。

x = 0while x < 100:                                  #开始while循环    if x == 5:                                  #当x == 5时终止循环        break;
    print(x,end="" "")
    x += 1names = [""小黑"",""中白"",""大红""]                    #定义一个列表变量print(""\nbreak语句在for循环中的应用"")for name in names:                              #对names列表进行迭代    if not name.startswith(""小""):               #遇到列表元素不是以""小""开头的,就终止for循环        break;
    print(name)
print(""break语句在for循环中的应用"")for name in names:                              #对names列表进行迭代    #遇到列表元素以""小""开头的,会跳过本次循环,继续执行下一次循环    if name.startswith(""小""):        continue;
    print(name,end="" "")
print(""\n嵌套循环"")
arr1 = [1,2,3,4,5]
arr2 = [""小黑"",""中白"",""大红""]
arr = [arr1,arr2]                               #定义一个二维列表变量i = 0while i < len(arr):                             #使用嵌套循环枚举二维列表中的每一个元素值    for value in arr[i]:
        print(value,end="" "")                    #输出二维列表里的每一个元素值
    i += 1
    print()
输出结果:
0 1 2 3 4 
break语句在for循环中的应用
小黑break语句在for循环中的应用
中白 大红 
嵌套循环
1 2 3 4 5 
小黑 中白 大红

"      本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程