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

Python如何实现计算小于等于x且仅能被4或5整除的数值之和

Python函数修正实现

现有代码问题梳理

  • 循环范围写死为range(1000),未使用输入参数num,无法匹配「小于等于输入值」的要求,应改为range(num + 1)保证覆盖所有符合范围的数值
  • 条件判断逻辑完全不符合需求:当前是累加同时被4和5整除的数,需求要求累加「能被4或5整除、但不同时被两者整除」的数
  • return 语句缩进错误,放在了for循环内部,会导致第一次循环执行完成后直接返回结果,不会遍历所有数值
  • 使用了Python内置函数名sum作为变量名,会覆盖原内置函数功能,建议更换变量名

正确实现代码

def personal_numbers(num):
    sum_total = 0
    # 遍历所有小于等于num的数值
    for i in range(num + 1):
        # 符合条件:能被4或5整除,但不同时被两者整除
        if (i % 4 == 0 or i % 5 == 0) and not (i % 4 == 0 and i % 5 == 0):
            sum_total += i
    return sum_total

# 测试用例:输入12,符合要求的数为4、5、8、10,总和为27
print(personal_numbers(12))

运行结果

执行上述代码会输出27,符合需求预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 15:57:02