【2020-05-16】C1-3 循环程序设计--break和continue语句

基础知识回顾:
1、break和continue,它们用来辅助控制循环执行

  • break用来【结束循环】
    • 程序从循环后代码继续执行
  • continue用来结束当前【当此】循环
    • 不再执行循环体中下面尚未执行的语句
    • 但不结束当前循环
      2、continue语句和break语句的区别
  • continue语句只结束本次循环,而不终止整个循环的执行。
  • break语句则是结束整个循环过程,不再判断执行循环的条件是否成立

问题1:
求200以内能被17整除的最大正整数
分析:
这个查找过程将以递减的方式遍历200至1之间的整数,当找到第1个能被17整除的数时,循环过程立即停止。

for i in range(200,1,-1): #注意:这里的步长为-1。
    if i%17==0:
        break
print('200以内能被17整除的最大数是:',i)

问题1:
求1-100之间所有偶数之和
分析:
循环遍历1-100之间的所有整数,当为奇数时,不执行加法操作,结束当次循环,继续遍历序列中下一个元素,利用continue语句来实现。

sum =0
for i in range(1,101,1):
    if i %2==1:
        continue
    else:
        sum=sum+i
print(sum)

对比参考答案:

i=1
sum=0
for i in range(1,101):
    if(i%2==1):
        continue
    sum+=i
print("1-100之间的偶数之和为%d"%sum)

发现:
i=1不一定要写;
if后面的表达使不一定要加括号;
sum=sum+i的写法可以写出sum+=i。

问题3:
输出200以内的所有素数,并输出素数的个数。
分析:
素数是除了1和它本身不能被其他数整除的数。
本题采用双重for循环实现,外层循环遍历2-200之间的所有整数,内层循环用来判断一个数是否是素数。

num=0
for i in range(2,201,1):
    k=True
    for j in range(2,i):
        if i%j==0:
            k=False
            break
    if k==True:
        print(i)
        num+=1
print("200以内的素数个数为:",num)

对比参考答案:

num=0
for i in range(2,201,1):
    k=True
    for j in range(2,i):
        if i%j==0:
            k=False
            break
    if k==True:
        print("%d"%i)
        num+=1
print("200以内的素数个数是%d"%num)           

发现:
1、注意k=True的位置以及运用;
2、print()的两种用法:

print("200以内的素数个数为:",num)
print("200以内的素数个数是%d"%num)  

测验错题:

1、

2、

range的默认起始值为0。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容