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

Python代码无法运行:数组奇数求和功能实现问题求助

奇数求和函数修复说明

原代码存在的问题

  • 函数odd_ones没有添加return语句,所有执行逻辑仅做打印,测试函数无法获取返回值做判断,所有用例都会返回None导致测试失败
  • 循环取值范围错误,range(0, len(array)-1)会自动跳过数组最后一位元素,导致求和结果缺失最后一位的数值
  • 没有对空数组做分支判断,无法返回要求的"Empty Array"字符串
  • 偶数判断的分支逻辑错误,只要遇到单个偶数就打印no odd numbers detected,不符合业务逻辑,应该是遍历完成后总和为0且数组非空时才提示无奇数
  • 测试函数末尾存在语法错误,print("TEST FAIL缺少闭合引号与括号

修复后完整代码

def odd_ones(array):
    # 先判断空数组情况
    if not array:
        return "Empty Array"
    total = 0
    # 直接遍历元素,不需要通过索引取值更简洁
    for num in array:
        if num % 2 != 0:
            total += num
    # 遍历完成后判断是否有奇数
    if total == 0:
        print("no odd numbers detected")
    return total


def test_odd_ones():
    print("Odd Ones Unit Test...\n")
    if odd_ones([1,2,3,4,5,6,7,8,9]) == 25:
        print("TEST PASSED")
    else:
        print("TEST FAILED")
    if odd_ones([3,3,1,1,5,5]) == 18:
        print("TEST PASSED")
    else:
        print("TEST FAILED")
    if odd_ones([2,4,6,10,20]) == 0:
        print("TEST PASSED")
    else:
        print("TEST FAILED")
    if odd_ones([]) == "Empty Array":
        print("TEST PASSED")
    else:
        print("TEST FAILED")

# 执行测试
test_odd_ones()

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

相关产品推荐
方舟 Agent Plan

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

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