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

Python新手求助:自定义Sumn函数列表求和功能异常排查

问题分析与修正

你的代码存在以下几个关键问题,导致无法得到预期的求和结果:

  • 遍历对象错误:for i in mylist[1] 试图遍历整数12(mylist[1]的值),但整数不是可迭代对象,运行时会直接抛出错误。你需要遍历整个列表mylist,或者列表的索引范围。
  • 提前返回结果:循环内部第一行就执行return sum,这会让函数在第一次循环时立即返回,根本不会计算所有元素的总和。
  • 无效代码:i+=1写在循环外部,且循环内已经通过for语句重新赋值了i,这句代码永远不会被执行。
  • 内置函数名冲突:使用sum作为变量名会覆盖Python内置的sum()函数,虽然语法合法,但不推荐这么做,容易引发后续问题。

修正后的代码(推荐写法)

直接遍历列表中的每个元素进行累加,代码简洁易懂:

def Sumn(mylist):
    total = 0    
    for num in mylist:
        total += num
    return total

如果想练习基于索引的遍历写法,可以这样写:

def Sumn(mylist):
    total = 0
    # 遍历列表的所有索引
    for i in range(len(mylist)):
        total += mylist[i]
    return total

测试验证

你的调用代码无需修改:

import myFunctions

mylist = [6, 12, 645, 3, -8]
print(myFunctions.Sumn(mylist))

运行后会输出658,与预期的列表元素总和一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:50:25