Recursion 递归函数(Python)的基本情况返回语句
我试图通过使用Python2.7的合并排序算法更好地理解递归。我已经编写了一小段代码来递归地分解列表。除了最后一步,代码似乎工作正常。对于基本情况,程序应该返回大小为1的列表。但是,它将返回值“none”。我哪里做错了Recursion 递归函数(Python)的基本情况返回语句,recursion,return,Recursion,Return,我试图通过使用Python2.7的合并排序算法更好地理解递归。我已经编写了一小段代码来递归地分解列表。除了最后一步,代码似乎工作正常。对于基本情况,程序应该返回大小为1的列表。但是,它将返回值“none”。我哪里做错了 mylist = [14,88,2,14,9,123,1,5] def concour(thelist): mid = len(thelist) / 2 LeftSide = thelist[:mid] print LeftSide,'length is
mylist = [14,88,2,14,9,123,1,5]
def concour(thelist):
mid = len(thelist) / 2
LeftSide = thelist[:mid]
print LeftSide,'length is ', len(LeftSide)
if len(LeftSide) == 1: #the base case here
print LeftSide
return LeftSide
else:
concour(LeftSide) #recursive call
print concour(mylist)
"""
[14, 88, 2, 14] length is 4
[14, 88] length is 2
[14] length is 1
[14]
None
"""
递归调用中缺少return语句。请接受下面的答案。如果可能的话,你能在线程的末尾加上“is returning None”吗