函数的递归

递归:
在函数内部,可以调用其他函数.如果一个桉树在内部调用自己本身,那么这个函数就是递归函数.
 
递推特性:
1、递归必须要有一个明确的条件
2、每次进入更深一层的调用时,问题规模相比上一次递归应该有所减少
比如:数字是依次递减,列表的元素依次减少等等。
3、递归效率不高,递归曾测多会导致栈溢出(在计算机中,函数调用是通过栈这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限大的,所以递归调用次数过多,会导致栈溢出)
 
1 def calc_division(n):
2     'this func user for n devision 2'
3     print(n)
4     if int(n/2) > 0:
5         return calc_division(int(n/2))
6     print('-->',n)
7 
8 calc_division(20)

 

posted @ 2017-03-16 21:20  SpeicalLife  阅读(208)  评论(0编辑  收藏  举报