带列表的 Python 递归返回无 [英] Python recursion with list returns None
本文介绍了带列表的 Python 递归返回无的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
def foo(a):a.append(1)如果 len(a) >10:打印一个返回一个别的:富(一)
为什么这个递归函数返回 None(见下面的成绩单)?我不太明白我做错了什么.
<前>在 [263] 中:x = []在 [264] 中:y = foo(x)[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]在 [265] 中:打印 y没有任何 解决方案
else
子句中没有返回任何内容:
其他:返回 foo(a)
def foo(a):
a.append(1)
if len(a) > 10:
print a
return a
else:
foo(a)
Why this recursive function returns None (see transcript below)? I can't quite understand what I am doing wrong.
In [263]: x = [] In [264]: y = foo(x) [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] In [265]: print y None
解决方案
You don't return anything in the else
clause:
else:
return foo(a)
这篇关于带列表的 Python 递归返回无的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文