使用PYTHON在列表错误中添加项目

时间:2015-08-11 09:17:34

标签: python list

我试图添加列表中的所有项目,列表:

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

5 个答案:

答案 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))