问题:如何查询正整数n到m区间的所有质数?
思路:利用条件语句if…(else…)筛选出除了1和自身外,不能被其他自然数整除的大于1的整数即可。
由于要判断区间内的一个数能否被小于自身的数整除,并且还要遍历区间内的所有整数,故代码应为多层嵌套结构,可考虑由内到外编写代码:判断某数是否为质数–>遍历区间内的所有数。
方法一:两个while循环
def cal(n,m):
prime = []
while n <= m:
i = 2
while i <= n:
if n % i == 0 and n != i:
break
else:
if n == i:
prime.append(n)
i += 1
n += 1
return prime
方法二:嵌套for…(else…)循环
def cal(n,m):
prime = []
for x in range(n,m+1):
if x == 1:
continue
for i in