''int'对象不可调用:查找列表元素的总和

问题描述 投票:-2回答:2

我正在尝试在列表中找到元素的总和,这些元素是从用户那里以一行显示的。但是,当我运行该程序时,它显示int对象不可调用。

mycode的:

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
python python-3.5
2个回答
0
投票
l = [ int(x) for x in l.split()]
s=sum(l)
n=len(l)
if(s%n!=0):
    print(-1)
else:
    print(s)

使用类型转换


1
投票

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

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

print(l)

s=sum(l)

n=len(l)

if(s%n!=0):

    print(-1)

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

© www.soinside.com 2019 - 2024. All rights reserved.