2014-06-25 227 views
0

我试图追加或通过范围将迭代的总和添加到空列表。我能做到这一点使用for循环:附加/添加到列表

list=[] 
list_2=[] 
def clique(n): 
    for i in range(n): 
     list.append(i) 
     list_2=sum(list) 
print clique(4) 

,但每次我试图在函数中做,我得到这个错误:

TypeError: range() integer end argument expected, got list.

输出是:

None

+0

我很困惑。首先你说你得到一个TypeError,然后你说程序运行但是输出错误的结果。这是什么? – Kevin

+0

我很抱歉。它输出“无” – user3727944

+0

你期望它输出什么? – Kevin

回答

0

当你做print some_function()时,输出是函数的返回值。如果函数没有return语句,则默认情况下返回值为None。这就是为什么print clique(4)打印None

如果您想print clique(4)显示list的内容,则返回list

def clique(n): 
    for i in range(n): 
     list.append(i) 
     list_2=sum(list) 
    return list 
+0

谢谢,这是有效的。 – user3727944

0

试试这个:

list=[] 

def clique(n): 
    for i in range(n): 
     list.append(i) 
     list_2=sum(list) 
    print 'list', list 
    print 'list_2', list_2 
clique(4)