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

Python计算小于指定数所有质数和的自定义函数运行错误求助

问题排查与修复方案

原代码核心错误

  • 逻辑完全错位:原代码仅判断输入值num能否被遍历值i整除,完全没有实现「判断i本身是否为质数」的核心逻辑
  • 遍历范围错误:要求num本身为质数时计入结果,遍历范围需要覆盖到num,且1不是质数无需纳入判断
  • 无有效质数判断规则:质数的定义是大于1的自然数,除了1和自身外没有其他正因数,原代码完全没有实现该判断逻辑

你给出的sumPrimes(3)原代码执行结果为2,和预期的2+3=5不符,就是上述错误共同导致的。

修复后代码

# 辅助函数:判断单个数值是否为质数
def is_prime(n):
    if n <= 1:
        return False
    # 仅遍历到平方根即可,优化执行效率
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

def sumPrimes(num):
    prime_sum = 0
    # 遍历范围从2到num(包含num)
    for i in range(2, num + 1):
        if is_prime(i):
            prime_sum += i
    return prime_sum

print(sumPrimes(3)) # 输出结果为5,符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:45:03