20220811-day1501接下来看看递归函数
前面函数其实已经讲完了,这里的递归函数,以及后面的迭代器、装饰器都仅仅是特殊函数而已
#_author: Administrator #_date: 2020/5/19 #前面其实函数已经讲解完了,这里的高阶函数以及后面讲的迭代器、装饰器都仅仅是函数的特殊应用而已 #看个例子,计算阶乘 #如: 5!=5x4x3x2x1 def fat(n): ret=1 for i in range(1,n+1): #这里要明白range的取值 ret=ret*i return ret print(fat(5)) #引出个问题,思路有点复杂,下面用递归函数实现 #@地柜的特征:但凡递归能做的,循环都能做;递归很多时候效率是很低的,不推荐使用。 def recursive_fun(n): if n==1: return 1 return n*recursive_fun(n-1) print(recursive_fun(5)) #一定要好好理解 #总结递归函数:1、内部要自己调用自己;2、注意结束条件; #再来个例子:斐波那契数列 #0 1 1 2 3 5 8 13 21 34 55 #想实现效果,从斐波拉契数列中取数 def fib(n): bef=0 aft=1 if n <= 1: return n return fib(n-1)+fib(n-2) print(fib(8))