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))

代码解释:

  1. 输入区间最小值和最大值:

    • 使用input()函数获取用户输入的区间最小值和最大值,并将其转换为整数类型。
  2. 循环遍历范围[m,n]:

    • 使用range(m, n+1)生成从m到n(包括n)的数字序列,并用for循环遍历该序列。
    • 注意循环范围要包含n,因此需要写成range(m, n+1)
  3. 判断素数:

    • if num > 1:判断当前数字是否大于1,因为1不是素数。
    • 使用内层循环for i in range(2, num):,从2开始遍历到num-1,判断num是否能被i整除。
    • if num % i == 0:如果num能被i整除,说明num不是素数,使用break跳出内层循环。
  4. 输出素数:

    • 使用else语句,当内层循环正常结束(没有被break)时,表示num是素数,将其打印输出并累加计数器result
  5. 输出结果:

    • 最后,输出mn之间共有result个素数。

注意:

  • else语句是和for语句一起使用的,表示当for循环正常结束(没有被break)时,执行else语句。这里的else语句是和内层for语句配对的。如果不理解可以去了解一下Python中的for-else语句。
Python代码实现:找出给定范围内的所有素数

原文地址: https://www.cveoy.top/t/topic/oKhr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录