Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ';int';对象不可调用:查找列表中元素的总和_Python_Python 3.5 - Fatal编程技术网

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

Python ';int';对象不可调用:查找列表中元素的总和,python,python-3.5,Python,Python 3.5,我试图在一行中找到列表中元素的总和,其中的元素来自用户。但是当我运行程序时,它显示,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
对象是不可调用的

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
类型,也有
str
类型。列表中的每个元素都需要强制为整数,如果不能,则程序需要带着该错误退出,或者只对列表中可以强制的元素求和。这可以通过
map
功能完成。例如:

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

print(l)

s=sum(l)

n=len(l)

if(s%n!=0):

    print(-1)
(蟒蛇3) 这将列表元素映射到int类型

l = [ int(x) for x in l.split()]
s=sum(l)
n=len(l)
if(s%n!=0):
    print(-1)
else:
    print(s)

使用类型转换

Hi,这是完整的代码吗?如果不是,您是否可以用导致错误的行发布代码?它是否显示int不可调用或不支持的操作数类型?打个招呼。请注意,
input().split()
将为您提供一个字符串列表。请显示您的
list
print(l)。在input()中使用l=[int(x)表示x。split()]不起作用@rajenderkumarw我犯了什么错误?sum函数只能用整数列表调用。您正在传递字符串文本列表。
l = [ int(x) for x in l.split()]
s=sum(l)
n=len(l)
if(s%n!=0):
    print(-1)
else:
    print(s)