我想在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)
答案 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