python函数八(递归函数)
一。递归函数
递归的定义——在一个函数里再调用这个函数本身
def func(): print(111) return func() func()
递归的最大深度——997
n = 1 def func(n): print(n) n += 1 return func(n) func(1)
修改递归最大深度
import sys print(sys.setrecursionlimit(100000))
例一:
现在你们问我,alex老师多大了?我说我不告诉你,但alex比 egon 大两岁。
你想知道alex多大,你是不是还得去问egon?egon说,我也不告诉你,但我比武sir大两岁。
你又问武sir,武sir也不告诉你,他说他比金鑫大两岁。
那你问金鑫,金鑫告诉你,他40了。。。
这个时候你是不是就知道了?alex多大?
def age(n): if n == 1: return 40 elif 1 < n <= 4: 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]中66对应的索引位置
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 find(l,aim,start = 0,end = len(l)-1): # if end == None:end = len(l)-1 if start <= end: mid = (end - start) // 2 + start if l[mid] < aim: return find(l,aim,start=mid+1,end = end) elif l[mid] > aim: return find(l,aim,start=start,end=mid-1) elif l[mid] == aim:return mid else:return None ret = find(l,66) print(ret)