Python学习之路--递归
递归
定义:在函数中调用自己
#RecursionError: maximum recursion depth exceeded while calling a Python object 递归错误,超过递归最大深度
最大递归深度997,或998,是python从内存角度出发做的限制
修改最大深度
import sys
sys.setrecursionlimit(10000)
缺点:占内存
优点:让代码变简单
def age(n):
if n == 4:
return 40
elif n >0 and n <4:
return age(n+1) +2
print(age(1))
二分查找算法
def find(l,aim,start = 0,end = None):
end = len(l) if end is None else end
mid_index = (end - start)//2 + start
if start <= end:
if l[mid_index]<aim:
return find(l,aim,start = mid_index+1,end = end)
elif l[mid_index]>aim:
return find(l, aim, start=start, end=mid_index-1)
else:
return mid_index
else:
print('找不到这个值')
ret = find(l,44)
print(ret)
浙公网安备 33010602011771号