python基础练习题(题目 判断101-200之间有多少个素数,并输出所有素数。)

day7

---------------------------------------------------------------

实例012:100到200的素数

题目 判断101-200之间有多少个素数,并输出所有素数。

怎么判断一个数是素数,就是除了1与其本身外,不能被其他数整除的数。1就不用考虑了,而其他数的范围为平方根之内就行:

 1 import math
 2 
 3 a = input("请输入两个数,以英文逗号隔开:")
 4 a = a.split(",")
 5 list = []
 6 for i in range(int(a[0]),int(a[1])+1):
 7     for j in range(2,int(math.sqrt(i))+1):
 8         if i % j == 0:
 9             break
10     else:
11         list.append(i)
12 print("其中素数有%s,共有%d个" % (list,len(list)))

看下答案有两种,其中较为简洁的和我上面一样,哈哈哈,我还是想到了的,另外一种如下,用flag标记是否找到了整除的数,也是个思路:

 1 import math
 2 for i in range(100,200):
 3     flag=0
 4     for j in range(2,round(math.sqrt(i))+1):
 5         if i%j==0:
 6             flag=1
 7             break
 8     if flag:
 9         continue
10     print(i)
原文地址:https://www.cnblogs.com/qgc1995/p/14811284.html