You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Python函数判断用户输入数值是否为素数并返回对应结果

Python素数判断函数实现

核心逻辑说明

素数的定义为大于1的自然数,且除了1和它本身之外没有其他正因数,实现时做了效率优化,仅需要遍历到输入值的平方根即可完成判断,不需要全量遍历到输入值本身。

完整函数代码

import math

def is_prime(num):
    # 校验输入是否为整数
    if not isinstance(num, int):
        print("输入值不是合法的正整数,请重新输入")
        return False
    # 小于2的数都不符合素数定义
    if num < 2:
        print(f"{num} 不是素数")
        return False
    # 仅遍历到平方根即可完成校验
    for i in range(2, int(math.sqrt(num)) + 1):
        if num % i == 0:
            print(f"{num} 不是素数,可被 {i} 整除")
            return False
    print(f"{num} 是素数")
    return True

调用示例

直接传入整数参数即可调用,效果如下:

  • 调用 is_prime(17) 会输出 17 是素数,同时返回 True
  • 调用 is_prime(15) 会输出 15 不是素数,可被 3 整除,同时返回 False
  • 调用 is_prime(1) 会输出 1 不是素数,同时返回 False

可选优化说明

如果需要兼容2.0这类值为整数的浮点数输入,可以在类型校验步骤增加逻辑:如果是float类型且小数部分为0,先转为整数再做后续判断。

内容的提问来源于stack exchange,提问作者Spicy Meatballs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:54:05