首页 > 编程语言 > 详细

python开发之路---第二章之--函数之其余内容

时间:2019-01-17 01:00:16      阅读:176      评论:0      收藏:0      [点我收藏+]

函数的递归

1 def func(x):
2 
3     print(x)
4     func(x+1)
5 
6 func(1)

# 打印结果是1~999,限制递归次数,否则会把栈撑满

 

## 递归的栗子

 1 def func(x):
 2 
 3     v = int(x / 2)
 4     if v != 0:
 5         print (v)
 6     else:
 7         return over
 8     func(v)
 9 
10 a = func(10)
11 
12 print (a)

 

 1 ##阶乘
 2 
 3 def func(x):
 4     if x == 1:
 5         return 1
 6     return x * func(x-1)
 7 
 8 
 9 a = func(10)
10 
11 print (a )

 

 

 

 

## 总结

1、递归必须有一个明确的结束条件,不然死循环后,系统就报错了

2、每次进入新的一层递归时,问题规模需要相应减少

3、递归效率不高,过多递归层次会导致栈溢出

 

python开发之路---第二章之--函数之其余内容

原文:https://www.cnblogs.com/LoveElsa/p/10280224.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!