day017 递归函数
一、递归介绍
递归的思想:在函数中调用自身函数
1 def story(): 2 print("从前有坐山") 3 story() 4 print("666") 5 6 7 story()
递归:
1 alex 多大 n = 1 age(1) = age(2)+2 = age(n+1) + 2 2 alex比egon大两岁 3 egon多大? n = 2 age(2) = age(3) + 2 = age(n+1) +2 4 egon比wusir大两岁 5 wusir多大 n = 3 age(3) = age(4) + 2 = age(n+1) +2 6 wusir比金老板大两岁 7 金老板多大? 8 金老板40了 n = 4 age(4) = 40 9 10 11 def age(n): 12 if n == 4: 13 return 40 14 elif n >0 and n < 4: 15 age(n+1) + 2 16 # 17 print(age(1))
二、算法介绍
算法:计算的方法
二分法
1 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] 2 3 4 def find(l, aim_value, start=0, end=len(l)): # l = list 5 mid_index = (end - start) // 2 + start 6 7 if l[mid_index] < aim_value: 8 find(l, aim_value, mid_index + 1) 9 elif l[mid_index] > aim_value: 10 find(l, aim_value, 0, mid_index + 1) 11 else: 12 print('找到了', mid_index, l[mid_index]) 13 14 15 find(l, 66) 16 print(l.index(66))

浙公网安备 33010602011771号