Python代码实现:找出给定范围内的所有素数
Python代码实现:找出给定范围内的所有素数
本文将提供Python代码,用于找出给定范围[m,n]内的所有素数。代码包含详细注释,帮助理解算法实现过程。
完整代码如下:
m = int(input('输入区间最小值: '))
n = int(input('输入区间最大值: '))
result = 0
for num in range(m, n+1): # 注意循环范围要包含n
if num > 1: # 素数均大于1
for i in range(2, num):
if num % i == 0:
break
else: # 如果内层循环正常结束(没有被break),则说明num是素数
result += 1
print(num)
print('{}到{}之间共有{}个素数'.format(m, n, result))
代码解释:
-
输入区间最小值和最大值:
- 使用
input()函数获取用户输入的区间最小值和最大值,并将其转换为整数类型。
- 使用
-
循环遍历范围[m,n]:
- 使用
range(m, n+1)生成从m到n(包括n)的数字序列,并用for循环遍历该序列。 - 注意循环范围要包含n,因此需要写成
range(m, n+1)。
- 使用
-
判断素数:
if num > 1:判断当前数字是否大于1,因为1不是素数。- 使用内层循环
for i in range(2, num):,从2开始遍历到num-1,判断num是否能被i整除。 if num % i == 0:如果num能被i整除,说明num不是素数,使用break跳出内层循环。
-
输出素数:
- 使用
else语句,当内层循环正常结束(没有被break)时,表示num是素数,将其打印输出并累加计数器result。
- 使用
-
输出结果:
- 最后,输出
m到n之间共有result个素数。
- 最后,输出
注意:
else语句是和for语句一起使用的,表示当for循环正常结束(没有被break)时,执行else语句。这里的else语句是和内层for语句配对的。如果不理解可以去了解一下Python中的for-else语句。
原文地址: https://www.cveoy.top/t/topic/oKhr 著作权归作者所有。请勿转载和采集!