我试图添加列表中的所有项目,列表:
def sum_items(list):
k = 0
for i in range(len(list)):
k = k + list[i]
return k
list = [2,3,4,5]
这是一个例子,我想对列表中的n个项目进行
打印(k)的
I got an error: File "xxx.py", line 15, in <module>
print(k)
NameError: name 'k' is not defined
Process finished with exit code 1
答案 0 :(得分:0)
您需要将列表传递给function test(a) {
return function() {
console.log('a is : ' + a);
};
}
var bob = test('A should not be undefined?');
bob();
函数。并且不要将sum_items
用作变量名。
list
或
def sum_items(lis):
k = 0
for i in range(len(lis)):
k = k + lis[i]
return k
print(sum_items([2,3,4,5]))
答案 1 :(得分:0)
您需要先向k
分配内容。
k = sum_items(list)
print (k)
或
print (sum_items(list))
如果您要查看列表中第一个“n”项的求和,可以使用切片:
def sum_items(n, yourList):
k = sum(yourList[:n])
return k
答案 2 :(得分:0)
嗯,Python实际上有一个内置函数来获取列表中所有数字的总和。 sum([1, 2, 3])
将返回6
但是,代码的问题在于您只在函数中定义k。函数基本上是对一些未知值执行的一系列步骤。你需要像这样调用函数
k = sum_items([1, 2, 3, 4])
在功能之外和之下
示例:
def add(n):
return n+1
k = add(4)
print(k)
这是唯一的问题。
你需要做的是这样的事情
def sum_items(l): #Don't use "list" for a variable because `list()` is an inbuilt function in Python
k = 0
for item in l: #Goes through the actual objects rather than calling them by index
k += item #k = k + item
return k
print(sum_items([1, 2, 3, 4]))
对于前n项,您只需使列表等于那些项
即可def sum_items(start, end, l):
newList = l[start:end]
#Do the same on newList
print(sum_items(1, 3, [1, 2, 3, 4])) #Gives back value of 2+3+4 which is 11
答案 3 :(得分:0)
以下内容更像您尝试实现的目标:
def sum_items(a_list):
total = 0
for item in a_list:
total += item
return total
my_list = [2,3,4,5]
print sum_items(my_list)
在Python 2.7中测试
答案 4 :(得分:0)
您可以改用内置总和:
print(sum(list))