python - 'int' 对象不可调用:查找列表元素的总和
问题描述
我试图在一行中找到列表中元素的总和,其中元素是从用户那里获取的。但是当我运行它显示的程序时,int
对象是不可调用的。
我的代码:
l=input().split()
print(l)
s=sum(l)
n=len(l)
if(s%n!=0):
print(-1)
当我运行我的程序时:
*error in line3*
TypeError: unsupported operand type(s) for +: 'int' and 'str'
和
'int' object is not callable
解决方案
您能否提供引发错误的示例输入?我敢打赌该列表同时具有int
和str
类型。列表中的每个元素都需要强制转换为整数,如果不能,则程序需要退出该错误或仅对列表中可以强制转换的元素求和。这可以通过map
函数来完成。例子:
l=list(map(int, input()))
print(l)
s=sum(l)
n=len(l)
if(s%n!=0):
print(-1)
(Python3) 这会将列表元素映射为 int 类型。
推荐阅读
- flutter - 在提供者的消费者小部件内部的测试中找不到小部件
- react-native - 世博会管理工作流程的条带/订阅付款
- node.js - 是否可以运行 npx 工具在 Azure 中执行包
- python - FancyArrowPatch 在散点图上未正确显示
- python - 熊猫从字符串中删除字符
- unity3d - Unity Game View 文本在本地显示为块
- ios - 获取点击手势的展开值
- android - 更改默认的android启动图标(建议的其他方法无效)
- javascript - 为什么Javascript中有一个全局对象?
- c++ - 如果我使用 lambda 而不是 If 块,是否会有性能损失?