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

Python列表奇数求和:使用function/return改写代码无法运行如何解决

错误排查
  • 循环逻辑错误:使用range(1,len(numbers))生成的是列表的索引序列,而非列表内的元素,且索引从1开始遍历,遗漏了第一个元素的判断
  • 判断条件错误:当前判断的是索引值是否为奇数,而非列表内存储的数值是否为奇数
  • 作用域与调用错误:odds是函数内部的局部变量,外部无法直接访问,且代码未主动调用定义好的add_up_the_odds函数,逻辑完全没有执行
修复方案

修复后完整代码

def add_up_the_odds(numbers):
    odds = []
    # 直接遍历列表内的元素,而非索引
    for number in numbers:
        # 判断数值是否为奇数
        if number % 2 == 1:
            odds.append(number)
    return odds

numbers = [1,5,3,2]
# 主动调用函数获取奇数列表后求和
result = add_up_the_odds(numbers)
print(sum(result))

简化写法(可选)

如果不需要单独保留奇数列表,可直接在遍历过程中求和,代码更简洁:

def add_up_the_odds(numbers):
    total = 0
    for number in numbers:
        if number % 2 == 1:
            total += number
    return total

numbers = [1,5,3,2]
print(add_up_the_odds(numbers))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:36:00