为什么 sum(*args)int' object is not callable
时间: 2023-07-17 09:56:05 浏览: 96
【Python进阶】Word版,可自拓展知识点或写注记。
我犯了一个错误,非常抱歉给你带来困惑。`sum()` 函数不需要使用 `*args` 语法来接收可变数量的参数。实际上,`sum()` 函数本身就接受一个可迭代对象作为参数,并计算其总和。
因此,你只需要将整个可迭代对象作为参数传递给 `sum()` 函数即可。不需要使用 `*args`。以下是修复后的代码:
```python
def number(args):
average = float(sum(args) / len(args))
result_list = []
for i in args:
if i > average:
result_list.append(i)
result_tuple = (average, result_list)
return result_tuple
print(number([4, 5, 9, 3, 5]))
```
在修复后的代码中,我们重新定义了 `number` 函数,接受一个列表 `args` 作为参数。然后我们直接将 `args` 传递给 `sum()` 函数来计算总和。接下来,我们按照原来的逻辑计算平均值,并将大于平均值的数字添加到结果列表中。最后,我们返回一个包含平均值和结果列表的元组。
非常抱歉给你带来混淆,感谢你指出错误。
阅读全文