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

如何验证判断列表所有元素是否为k的倍数的代码有效性?

核心实现思路

判断列表内所有数字是否为k的倍数的核心逻辑为:对每个数字做k的取模运算,若结果为0则该数字符合要求,所有元素均符合要求时返回True,否则返回False。

参考实现示例

Python 内置函数简洁版

def all_multiples_of_k(num_list: list[int], k: int) -> bool:
    # 边界处理:k不能为0,否则取模会触发除零错误
    if k == 0:
        raise ValueError("参数k不能为0")
    # 空列表返回值可根据业务需求调整,此处默认返回True
    if not num_list:
        return True
    return all(num % k == 0 for num in num_list)

手动遍历逻辑版(适合理解底层执行逻辑)

def all_multiples_of_k(num_list: list[int], k: int) -> bool:
    if k == 0:
        raise ValueError("参数k不能为0")
    for num in num_list:
        if num % k != 0:
            # 遇到第一个不符合要求的元素直接返回,不需要遍历完整列表,性能更优
            return False
    return True
常见错误排查点
  • 遗漏k=0的边界处理,运行时直接触发除零报错
  • 取模逻辑写反,写成k % num == 0,实际变成判断k是所有列表元素的倍数,和需求相反
  • 未做提前终止逻辑,遍历完所有元素才返回结果,大列表场景下性能损耗严重
  • 若需求要求必须是正倍数,可额外增加num > 0的判断条件,Python默认取模支持负数运算,-4 % 2 == 0会返回True
测试用例参考
# 所有元素都是2的倍数
print(all_multiples_of_k([2,4,6,8], 2)) # 输出 True
# 存在非倍数元素
print(all_multiples_of_k([2,5,6], 2)) # 输出 False
# 空列表场景
print(all_multiples_of_k([], 3)) # 输出 True
# 负数适配场景
print(all_multiples_of_k([-2,4,-6], 2)) # 输出 True

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 04:06:03