基础知识回顾:
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)
测验错题:

2、

range的默认起始值为0。