递归调用

递归调用:函数在调用的过程中,间接或直接调用函数本身。

1 def f1():
2     print("递归调用")
3     f1()
4 f1()      #会无限的执行。但是达到调用的最大次数就会保存停止
例子
 1 #定义阶段
 2 def f1():
 3     print("递归调用")
 4     f2()
 5 
 6 
 7 def f2():
 8     print("我再调用f1")
 9     f1()
10 #使用阶段
11 
12 f1()
View Code

系统设置!!!没啥用。了解即可

1 import sys   #系统模块
2 print(sys.getrecursionlimit())
3 print(sys.setrecursionlimit(10000)) #没啥鸟用。。。。
View Code
1 def age(n):
2     if n == 1:
3         return 18
4     return age(n-1)+2
5 
6 print(age(5))
7 
8 是结果
9 26
View Code

二分法

 1 #函数定义阶段
 2 feng = [1,2,3,4,5,6,12,23,24,34,45,77,88,99]
 3 
 4 def search(find_ele,seq):
 5     """二分法函数,判断执行"""
 6     if len(seq) == 0:
 7         print("not exists")
 8         return
 9     mid_index = len(seq)//2
10     mid_num = seq[mid_index]
11     print(mid_num)
12 
13     if find_ele > mid_num :
14         seq = seq[mid_index+1:]
15         search(find_ele,seq)
16     elif find_ele < mid_num:
17         seq = seq[:mid_index]
18         search(find_ele,seq)
19     else:
20         print("find it")
21 def man():
22     '''主函数,可以随意输入数字'''
23     print(feng)
24     find_ele = int(input("请输入》》》"))   #这里要转换成数字哦,否则会报错的
25     seq = feng
26     search(find_ele,seq)
27 #函数执行阶段
28 man()
View Code

 

posted @ 2017-05-31 18:22  Sober--Never  阅读(69)  评论(0)    收藏  举报