Объект 'int' не может быть вызван: найдите сумму элементов списка - PullRequest
0 голосов
/ 29 сентября 2019

Я пытаюсь найти сумму элементов в списке, где элементы взяты у пользователя, в одной строке. Но когда я запускаю программу, она показывает, что 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

Ответы [ 2 ]

1 голос
/ 29 сентября 2019

Можете ли вы предоставить пример ввода, который выдает ошибку? Держу пари, что в списке есть типы int и str. Каждый элемент в списке должен быть приведен к целому числу, и, если это невозможно, программе необходимо либо выйти с этой ошибкой, либо только суммировать элементы списка, которые можно привести. Это можно сделать с помощью функции map. Пример:

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

print(l)

s=sum(l)

n=len(l)

if(s%n!=0):

    print(-1)

(Python3) Это отображает элементы списка для типа int.

0 голосов
/ 29 сентября 2019
l = [ int(x) for x in l.split()]
s=sum(l)
n=len(l)
if(s%n!=0):
    print(-1)
else:
    print(s)

Использовать преобразование типов

...