def foo(a):
a.append(1)
if len(a) > 10:
print a
return a
else:
foo(a)
为什么这个递归函数返回None(参见下面的脚本)?我不太明白我做错了什么。
In [263]: x = [] In [264]: y = foo(x) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] In [265]: print y None
答案 0 :(得分:16)
您不会在else
子句中返回任何内容:
else:
return foo(a)