前言:
本人因喜欢python和c语言等程序设计语言,希望能够在这里和大家共同学习共同进步。
因个人喜好喜欢做题,所以想出一个系列专栏关于python的习题专集,希望大家喜欢。
希望能在这里分享学习的一些知识碎片,接触时间不长,如果文章有任何错误,欢迎大家指正。
如果喜欢我的文章还请大家不吝动手给我点赞收藏关注哦,留下你来过的足迹,让我眼熟你。
第十题 求101-200之间有多少个素数
要求:
1.判断101-200之间有多少个素数,并输出所有素数
可以先自己看要求写出程序,然后看提示及答案,更有助于提高自己。
import math
def prime(a,b):
list = []
for i in range(a,b+1):
flag = 1
for j in range(2,int(math.sqrt(i))+1):
if i%j==0:
flag = 0
continue
if flag:
list.append(i)
return list
list = prime(101,200)
print(list)
print("101到200之间的素数有 %d 个" %len(list))
说明:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明次数不是素数,反之是素数
思考:break和continue的区别,为什么用在这里,他们的输出结果不变?
保存并运行程序,结果如下所示:
[101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199]
101到200之间的素数有 21 个