标签:return 递归 递归函数 python after factorial second num
一、递归函数的特性
- 调用自身函数
- 有一个结束条件
- 凡是递归都可用循环解决
- 递归有时效率很底
二、递归函数的使用示例
1.斐波拉契数列的实现
1.1 递归版本
1 #递归版 2 def fibo2(n, first_num=0, second_num=1): 3 if n == 2: 4 return second_num 5 elif n == 1: 6 return first_num 7 8 return fibo2(n-2)+fibo2(n-1) 9 10 #0 1 1 2 3 5 8 13 21 34 11 print(fibo2(5))
1.2 循环版本
1 #循环版 2 def fibo1(n, first_num=0, second_num=1): 3 before = first_num 4 after = second_num 5 6 for i in range(n-2): 7 before, after = after, before+after 8 9 return after 10 11 #0 1 1 2 3 5 8 13 21 34 12 print(fibo1(4))
2.阶乘的实现
2.1 递归版本
1 #递归版 2 def factorial(n): 3 if n == 0: 4 return 1 5 else: 6 return n * factorial(n-1) 7 8 print(factorial(0))
2.2 循环版本
1 #循环版 2 def factorial(n): 3 if n == 0: 4 return 1 5 else: 6 result = 1 7 while n: 8 result = result * n 9 n -= 1 10 return result 11 12 print(factorial(3))
标签:return,递归,递归函数,python,after,factorial,second,num 来源: https://www.cnblogs.com/xiaokaibiubiu/p/14400291.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。