---恢复内容开始---
人理解函数 神理解递归
一 递归函数
递归函数:在一个函数里在调用这个函数本身
递归的最大深度是998
def foo(n): print(n) n += 1 foo(n) foo(1)
我们可以用这种方式来修改递归的最大深度
import sys print(sys.setrecursionlimit(100000)
递归实例
age(4) = age(3) + 2
age(3) = age(2) + 2
age(2) = age(1) + 2
age(1) = 40 吧他变成一个函数
def age(n): if n==1: return 40 else: return age(n-1)+2 print(age(4))
二分查找算法
首先是一个有序的列表
l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88] def two_search(l,aim,start=0,end=None): end = len(l)-1 if end is None else end mid_index = (end - start) // 2 + start if end >= start: if aim > l[mid_index]: return two_search(l,aim,start=mid_index+1,end=end) elif aim < l[mid_index]: return two_search(l,aim,start=start,end=mid_index-1) elif aim == l[mid_index]: return mid_index else: return '没有此值' else: return '没有此值' print(two_search(l,9))