递归函数
一、简单版-递归函数
n = 0 def func(): global n n=n+1 print(n) func() func()
在函数里调用自己这个函数,如果没有退出则一起调用,每调用一次会多占用一个内存空间,在占用到999的内存空间时,python会默认关闭程序,以防内存被占满,可以手动调整这个值。
import sys
sys.setrecursionlimit(1000000)
在执行后也会退出,退出根本电脑配置决定,电脑也不会让程序一直占用内存。
二、中级版-递归函数
当A的值比B的值大5,B的值比C的值大5,C的值比D的值大5,D=30,问A的值多少。
def func(y): if y == 4: return 30 else: return func(y+1) + 5 print(func(1))
三、初始算法之 ---二分查找法
二分查找法,查找某一列表中的索引位置。
def func(l,aim,start = 0,end = None): end = len(l) if end is None else end mid_index = (end - start)//2 + start if start <= aim: if l[mid_index] < aim: return func(l,aim,start=mid_index+1,end=aim) elif l[mid_index] > aim: return func(l,aim,start = start,end=mid_index-1 ) else: return mid_index else: return '找不到' l = [1,2,3,4,5] print(func(l,3))