栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

6.7 continue 和 break 语句

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

6.7 continue 和 break 语句

6.7 continue 和 break 语句

Python 中有2个控制循环的语句:continue 语句和break语句。
continue:结束单次循环,跳过循环体中尚未执行的语句,重新开始新的循环。
break :强行退出循环体,不再执行循环。

continue 和 break 的共同点是都不再执行循环体中的循环代码,区别在于是否开始新一轮的循环。

举个不是很恰当的例子帮助大家理解:
如果把代码比作一个游戏,
那continue 的意思是游戏过程中我们死了,但我们可以从头开始闯关。
而break就相当于我们只有一条命,死了游戏就结束了。

6.7.1 continue 语句

continue [kənˈtɪnjuː] :继续。
continue 跳出本轮循环,开始新一轮的循环。
使用方法:
当循环体中的某个条件被满足后,执行该条件下面的continue语句。
这时,程序会跳过本轮循环的剩余语句,开始新一轮的循环。

体验代码
假设我做了5套Python 考试卷,统计输出5套试卷中不及格的成绩(即输出小于60的数)。
注意print 和 continue 的位置。

# 新建一个列表存储我的考试成绩
score_list = [80, 44, 55, 99, 59]

# for 循环依次输出成绩
for i in score_list :
    # 不输出>= 60 的成绩,意思就是>= 60 ,则本次循环结束,开始新一轮的循环
    if i >= 60 :
    # 大于等于60,就执行continue 则跳出该循环,不执行下面的print语句
    # continue 在这里的作用就是过滤了大于等于60 的数
        continue
    print(i)

【终端输出】

44
55
59

代码解析:
第1次循环:
for i in score_list : for 循环取出第1个数80,此时i= 80;
if i >= 60 : 执行判断语句, 80 > 60 ,条件成立。
continue:当条件成立时,执行continue语句。
执行continue的意思是跳过本轮循环的剩余语句,执行下一轮循环。
即不执行print,继续执行for循环。

第2次循环:
for i in score_list : for 循环取出第2个数44,此时i= 44;
if i >= 60 : 执行判断语句,44> 60 ,条件不成立。
continue:当条件不成立时,不执行continue语句,不跳过循环。
程序继续往下,执行for循环的代码print(i),输出44,然后再继续执行for循环。

continue在这里可以理解为:
满足条件,跳过循环,不执行print,
不满足条件,循环继续,执行print。

print 的位置:
此时print与for相比,有4个空格的缩进,它是for循环要执行的内容。
忘记的回忆下for 循环的语法。

print 在for循环之外

# 新建一个列表存储我的考试成绩
score_list = [80, 44, 55, 99, 59]

# for 循环依次输出成绩
for i in score_list :
    # if 判断是否小于60
    if i >= 60 :
        # 大于等于60,则跳出该循环,不执行下面的print 语句
        continue
print(i)

【终端输出】

59

print 的位置:
此时print与for循环语句是对齐的,它不是for循环要执行的内容。
for循环语句里没有缩进的print,因此for循环没有任何输出。
for循环结束后,才执行print(i) 。
for循环结束后i的值为59,因此,不管for循环里的条件是怎样的,程序最终都输出59。

编写要点
要在for 循环中输出内容,print 就需要有4个空格的缩进,这是for循环缩进的语法。

6.7.2 break 语句

体验代码
我做了5套Python 考试卷,只要有一套不及格,则输出考试不通过。
注意break 的位置。

# 新建一个列表存储我的考试成绩
score_list = [80, 44, 55, 99, 59]

# for 循环依次输出成绩
for i in score_list :
    # if 判断是否小于60
    if i < 60 :
        # 只要有小于60的,就输出下面的语句
        print('{}小于60,考试不通过!'.format(i))
        # 只要有不及格,程序结束,不用在循环
        break

【终端输出】

44小于60,考试不通过!

代码解析:
第1次循环:
for i in score_list : for 循环取出第1个数80,此时i= 80;
if i < 60 : 执行判断语句, 80 < 60 ,条件不成立。
条件不成立,程序返回for 循环语句,执行第2次循环。

第2次循环:
for i in score_list : for 循环取出第2个数44,此时i= 44;
if i < 60 : 执行判断语句,44 < 60 ,条件成立。
条件成立,则执行print('{}小于60,考试不通过!'.format(i)),此时i = 44 。
执行完print 后程序继续往下走,执行break 语句,那么整个循环结束了。

break 语句在 for循环语句里

# 新建一个列表存储我的考试成绩
score_list = [80, 44, 55, 99, 59]

# for 循环依次输出成绩
for i in score_list :
    # if 判断是否小于60
    if i < 60 :
        # 只要有小于60的,就输出下面的语句
        print('{}小于60,考试不通过!'.format(i))
    print(i)
    break
    

【终端输出】

80

上述代码print(i)和break是相对于for 循环语句是有4个空格的,因此每次循环都会被执行。
代码解析:
第1次循环:
for i in score_list : for 循环取出第1个数80,此时i= 80;
if i < 60 : 执行判断语句, 80 < 60 ,条件不成立。
if 条件不成立,不执行print('{}小于60,考试不通过!'.format(i))。
程序继续往下执行for 循环的代码即:
print(i): 先输出i,此时i= 80,因此看到终端输出了80.
break:程序继续执行break,因此循环结束,整个循环只执行了1 次。

6.7.3 continue和break 语句的循环次数

continue 语句不影响循环的次数,列表有5个元素,for 循环就执行5次。

# 定义变量n 统计循环次数
n = 0
# 新建一个列表存储我的考试成绩
score_list = [80, 44, 55, 99, 59]

# for 循环依次输出成绩
for i in score_list :
    # 统计循环次数
    n = n+1
    # if 判断是否小于60
    if i >= 60 :
        # 大于等于60,则跳出该循环,不执行下面的print 语句
        continue
    #print(i)
print('循环执行了{}次'.format(n))

【终端输出】

循环执行了5次

break 语句影响循环的次数,循环的次数受条件表达式支配。

# 定义变量n 统计循环次数
n = 0
# 新建一个列表存储我的考试成绩
score_list = [80, 44, 55, 99, 59]

# for 循环依次输出成绩
for i in score_list :   
    # 统计循环次数
    n = n +1
    # if 判断是否小于60
    if i < 60 :
        # 只要有小于60的,就输出下面的语句
        #print('{}小于60,考试不通过!'.format(i))
        break
print('循环执行了{}次'.format(n))

【终端输出】

循环执行了2次
6.7.4 continue 、 break 流程图

备注:图片来源于书籍《看漫画学Python》。

6.7.5 总结

重点理解print 、 continue 、 break 三个的位置。
不同的位置输出的结果是千差万别的。
for 循环有输出内容,那通常print 与for相比缩进4个空格。
continue 、 break 通常是if 条件判断语句的内容,与if相比缩进4个空格。
位置不是固定的,要根据自己需要输出内容和执行流程来判断。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755013.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号