带list的Python递归返回None
为什么这个递归函数返回None(参见下面的文本)?我不太明白我做错了什么带list的Python递归返回None,python,list,recursion,Python,List,Recursion,为什么这个递归函数返回None(参见下面的文本)?我不太明白我做错了什么 def foo(a): a.append(1) if len(a) > 10: print a return a else: foo(a) 在[263]中:x=[] 在[264]中:y=foo(x) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] In[265]:打印y 没有一个 在else子句中不返回任何内容: In [2
def foo(a):
a.append(1)
if len(a) > 10:
print a
return a
else:
foo(a)
在[263]中:x=[]
在[264]中:y=foo(x)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
In[265]:打印y
没有一个
在
else
子句中不返回任何内容:
In [263]: x = []
In [264]: y = foo(x)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
In [265]: print y
None
else:
return foo(a)