Выведите сумму списка с помощью функций в Python - PullRequest
0 голосов
/ 16 января 2020
sum=0
def sum_list(list):
    for x in list:
        sum=sum+x
        return sum
list=[1,2,3,4,5]
print(sum_list) 

Вывод кода: <function sum_list at 0x10d06a1e0>

Почему он указывает на адрес памяти, а не на сумму списка?

Ответы [ 2 ]

2 голосов
/ 16 января 2020

Вам нужно передать массив списка следующим образом: -

def sum_list(lst):
  sum = 0
  for x in lst:
    sum=sum+x
  return sum

lst=[1,2,3,4,5]
print(sum_list(lst)) 
1 голос
/ 16 января 2020

Вы должны просто использовать sum(). Если вы не можете и хотите sum использовать функцию, измените имена переменных!

Когда вы вызываете встроенную функцию sum, она возвращает

sum
<built-in function sum>

myList = [1, 2, 3, 4, 1155]
sum(myList)
#1165

Теперь, если вы сделаете то, что вы сделали, и установите sum в 0, он возвращает

sum
0

Это делает вас неспособным использовать функцию sum

sum = 0
mylist = [1, 2, 3, 4, 5]
sum(mylist)
Traceback (most recent call last):
  File "<pyshell#44>", line 1, in <module>
    sum(mylist)
TypeError: 'int' object is not callable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...