首页 > 解决方案 > '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

标签: pythonpython-3.5

解决方案


您能否提供引发错误的示例输入?我敢打赌该列表同时具有intstr类型。列表中的每个元素都需要强制转换为整数,如果不能,则程序需要退出该错误或仅对列表中可以强制转换的元素求和。这可以通过map函数来​​完成。例子:

l=list(map(int, input()))

print(l)

s=sum(l)

n=len(l)

if(s%n!=0):

    print(-1)

(Python3) 这会将列表元素映射为 int 类型。


推荐阅读