- A+
所属分类:Python学习
python递归函数
英文的Recursion从词源上分析只是"re- (again)" + "curs- (come, happen)" 也就是重复发生,再次重现的意思。 而对应的中文翻译 ”递归“ 却表达了两个意思:”递“+”归“。 这两个意思,正是递归思想的精华所在。从这层次上来看,中文翻译反而更达意。
递归是静中有动,有去有回。
循环是动静如一,有去无回。
python递归常见使用
- 汉诺塔
- 树状
- 谢尔宾斯基三角形
- 常见的递归拍照
python递归代码实例
- 递归求阶乘
所谓的求阶层,简单的就是1*2*3*4*5*6...一直乘下去
非递归版本的函数
- def fac(n):
- result = n
- for i in range(1,n):
- result *= i
- return result
- n = int(input('请输入您要计算的阶乘:'))
- print("您输入的是%d,它的阶乘数是:%d" % (n,fac(n)))
递归版本
- def fac(n):
- if n==1:
- return n
- else:
- return n * (fac(n-1))
- n = int(input('请输入您要计算的阶乘:'))
- print("您输入的是%d,它的阶乘数是:%d" % (n,fac(n)))
注:在python3中,递归的深度被限制为100,如需改变其深度,需要
- import sys
- sys.setrecursionlimit(10000) #10000为递归的深度
单词扩展:
- Recursion:递归,循环
扩展阅读:
版权注释:
Python课程来源于鱼C论坛:http://bbs.fishc.com/forum-243-1.html 版块,课程内容为免费内容,如果你喜欢该课程,建议购买VIP账号支持小甲鱼,官方网店:https://fishc.taobao.com/)。
本内容为在李金龙在学习课程中做的日记记录,方便自己以后查找相关信息,另一方面也希望自己写下的东西可以帮助到别人。
课程内容:http://blog.fishc.com/3123.html