从递归函数的基本情况返回语句(Python)

时间:2015-01-27 19:13:13

标签: recursion return

我正在尝试使用Python 2.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 ', 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
"""

1 个答案:

答案 0 :(得分:1)

您在递归调用中错过了返回语句。