day017 递归函数

一、递归介绍

  递归的思想:在函数中调用自身函数

1 def story():
2     print("从前有坐山")
3     story()
4     print("666")
5 
6 
7 story()
View Code

   递归:

 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))
View Code

二、算法介绍

  算法:计算的方法

  二分法

 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))
View Code

  

posted @ 2018-10-21 10:36  wangspy  阅读(80)  评论(0)    收藏  举报