需要:
输出这样一些有规律数据: [0,1,1,2,3,5,8,13,21,34.......]
看上面需要好像有一些规律,没错,就是大家熟悉的婓那波契数列,n=(n-1)+(n-2)如13=8+5;
运用递归原理得:
def func(arg1,arg2):
if arg1 == 0:
print arg1,arg2
arg3 = arg1 + arg2
print arg3
if arg3 > 2046:
return ''
func(arg2,arg3)
func(0,1)
该函数在函数里再调用函数自身从而达到递归。
注意:在返回时当前的返回会停止函数操作,然而返回值应该是退回到上次调用,因为发起函数是底下函数操作,so,应该上次函数进行返回。
如:
1 def func(arg1,arg2): 2 if arg1 == 0: 3 pass 4 arg3 = arg1 + arg2 5 6 if arg3 > 2046: 7 return arg3 8 return func(arg2,arg3) 9 10 print func(0,1)
结果:2584 返回了arg3