Logo

郎哥编程

break和continue语句

2020-09-03 390

前面学习了for循环结构和while循环结构。下面提出两个问题:(1)在for和while循环结构中,当循环条件满足时,就会一直循环,如果想中途退出循环,该怎么办?(2)如果想停止本次循环,而不终止整个循环,该怎么办?

 break语句

上面的问题,我们一个个来解答。先说第一个问题,在循环结构中,如果想中途退出循环该怎么办?

01.png

Python提供了break语句可以在循环体内退出循环结构,直接执行循环结构后面的语句。使用break语句时,一般会设置触发条件,当设置的条件满足时,执行break语句退出循环结构。

02.png

上图红色虚线框内是循环体,在循环体内有退出循环条件判断,如果满足退出循环条件,就执行break语句,否则执行后续循环体内的语句。

03.png

用程序求一个小于该数的最大约数,可以使用循环结构从大到小顺序计算所有可能的约数(不包括该数自身),第一个能整除该数的数就是小于该数的最大约数。

约数也称为因数。整数a如果能被整数b整除,那么,整数b就是整数a的约数。一个整数的约数可能有多个,最小的约数是数值1,最大的约数是整数自身。

04.png

根据程序分析,绘制流程图:

05.png

程序一开始要求用户输入num,然后把num减去1赋值给count变量(求小于num的最大约数),用count作为循环变量,顺序计算所有可能的约数,在约数的计算过程中,用num与count做取余操作,如果操作结果为0,则说明count是num的约数,且是小于num的最大约数,后面用break语句就可以直接退出循环了。

06.png

continue语句

再来回答第二个问题,如果想停止本次循环,而不终止整个循环,该怎么办?

Python语言提供了continue语句用于结束本次循环,并开始下一轮循环。continue语句只能用在循环里,当循环执行到continue语句时,程序会终止本次循环,并忽略剩余的语句,开始新一轮循环。

07.png

使用continue语句时,要注意和break语句的差别,break语句导致循环终止,使程序控制流转向这个循环结构之后的语句块;而continue引起的则是循环内部的一次控制转移,使程序控制流跳到循环体的最后,相当于跳过循环体里这个语句后面的那些语句,继续下一次循环,下图说明了break语句和continue语句引起的控制转移的情况。

08.png

从上图可以看出:break语句是程序控制跳出整个循环,并执行循环后面的语句;continue语句是结束本次循环,循环体中continue后面的语句不再执行,而是开始下一轮循环。

09.png

用程序求100以内个位数不为3的整数累加和,可以使用循环结构从1到100累计求和,在循环求和过程中加一个判断,如果该数个位是3就跳过不加。判断100以内整数的个位数是否为3,可以使用取余运算符,将一个正整数,除以10以后余数是3,就说明这个数的个位为3。

根据程序分析,绘制流程图:

10.png

程序一开始创建变量sum,并创建范围为1至100(不含100)内的整数序列,for循环初始化时,将整数序列的第一个元素赋值给循环变量i。

如果i在序列内,判断i与10的余数是否为3,如果是调用continue语句结束本轮循环,如果不是将i加到sum变量上。

如果i不在序列内,输出sum变量。

案例代码

'''
title:break与continue语句——编程案例02
Description: 计算100范围内,个位数不为3的累加和
author:编程训练营
date:2020.6.27
'''
 
# sum存储累加和
sum = 0
for i in range(1,100):
    # 判断i的个位数是否为3
    if i % 10 == 3:
        print(i)
        continue
    sum += i
# 输出sum
print("100以内个位数不为3的自然数类加和为:%d" % (sum))


内容小结

在for和while循环语句中,当循环条件满足时,就会一直循环,如果想中途退出循环,可以使用break语句来退出循环;如果想停止本次循环,而不终止整个循环,可以使用continue语句结束本次循环,开始下一轮循环。

上机操作

编写一个程序,输出100以内的整数,要求输出的整数不包括3、5以及3和5的倍数。

提示:可以利用取余运算符“%”,判断一个整数是否是3和5的倍数。可以使用for循环来输出100以内的整数,设置循环变量为待输出的整数,如果循环变量等于3或5,或者是3和5的倍数,使用continue语句结束本次循环,开始下一轮循环,不执行输出整数的语句。

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论