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

Python自定义myadd1函数报错:tuple不可调用问题咨询

解决元组不可调用(tuple can't be callable)的错误

嘿,我立马就发现问题所在啦!你遇到的tuple can't be callable错误,根源在于你把元组当成函数来调用了。

错误原因分析

在你的代码里,*arg会把传入的所有位置参数打包成一个元组。而你写的s+=arg(i)是用圆括号()去“调用”这个元组,这在Python里是不允许的——元组是序列类型,要访问它的元素得用**方括号[]**来做索引操作。

修正后的代码

把arg(i)改成arg[i]就可以解决这个问题:

def myadd1(*arg):
    s = 0
    for i in range(len(arg)):
        s += arg[i]  # 这里把圆括号改成方括号
    return s

更Pythonic的写法

其实遍历元组没必要用range(len(arg))这种方式,直接遍历元素会更简洁:

def myadd1(*arg):
    s = 0
    for num in arg:
        s += num
    return s

甚至可以直接用Python内置的sum()函数一步到位,代码会更简洁高效:

def myadd1(*arg):
    return sum(arg)

这样不管你传入多少个数字参数,函数都能正确返回它们的总和啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 20:04:09