使用Python递归分割一系列数字

时间:2011-10-11 18:08:57

标签: python recursion

我想在Python中编写一个递归函数。我写了一个,但它无法正常工作。

我有一系列从1到1000的数字,我希望将其分为1到500和501到1000两部分。然后我想递归执行此操作,直到每个部分只有20个数字。

这是我的尝试:

mw = range(1,1000)
def cuter(mw):
    if len(mw)<20:
        return False
    else:
        cut=int(len(mw)/2)
        number.append(mw[0])
        number.append(cut)
        number.append(mw[-1])   
        return cuter(mw)
cuter(mw)

1 个答案:

答案 0 :(得分:4)

尝试类似这样的事情,其中​​seq是一个包含数字范围的列表:

def cutter(seq):
    n = len(seq)
    if n <= 20:
        # here the recursion stops, do your stuff with the sequence
        return
    a = cutter(seq[:n/2])
    b = cutter(seq[n/2:])
    # combine the answer from both subsequences
    return