码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:函数   code   需要   阶乘   class   print   结果   fun   col   

函数的递归

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开发之路---第二章之--函数之其余内容

标签:函数   code   需要   阶乘   class   print   结果   fun   col   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!