递归函数:
如果函数包含了对其自身的调用,该函数就是递归的;
example 1:二分法查找的实现:
def find_recursion(l,aim,start=0,end=None): #end不能直接赋值len(l),因为列表l可能在函数后面定义; end=len(l) if end is None else end mid_idex = (end - start) // 2 + start if end>=start: #如果start>end,则寻找的值不存在; if l[mid_idex]>aim: return find_recursion(l,aim,start,mid_idex-1) elif l[mid_idex]
example 2:阶乘实现:
def func(n): if n==1or n==0:return 1 #0!,1!是1 else:return n*func(n-1)print(func(6))