欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

Python学习之路-12 (递归)

发布时间:2025/7/14 python 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Python学习之路-12 (递归) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

所谓递归其实就是函数本身调用函数,直到满足指定条件之后一层层退出函数, 例如

从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?“从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?‘从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……’”

  • 利用函数编写一个斐波那契数列

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368

斐波那契数列就是前面给两个数相加得到后面一个数,依次往后

代码如下

#!/usr/bin/env python # _*_ coding: utf-8 _*_def Counter(n1, n2): if n1 > 10000: # 当要计算的值大于10000就退出 return print("Counter:", n1) # 输出当前计算到那个值了 n3 = n1 + n2 # 第一个值加上第一个值等于第三个值 Counter(n2, n3) # 调用计数器函数,此时第一个值是调用函数传过来的最后一个值,而第二个值是计算出来的第三个值 Counter(0, 1) # 调用计数器函数

输出结果

/usr/bin/python3.5 /home/Guniao/Documents/PycharmProjects/blogcodes/斐波那契.py Counter0 Counter1 Counter1 Counter2 Counter3 Counter5 Counter8 Counter13 Counter21 Counter34 Counter55 Counter89 Counter144 Counter233 Counter377 Counter610 Counter987 Counter1597 Counter2584 Counter4181 Counter6765 Process finished with exit code 0
  • 利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者

代码:

#!/usr/bin/env python # _*_ coding: utf-8 _*_def Counter(Index, Start, End): print("第%d次计算,第一个数字是%d,第二个数字是%d" % (Index, Start, End)) if Index == 10: # 如果要计算的值是10就退出 return Start N = Start + End # N等于第一个数加上第二个数 Number = Counter(Index + 1, End, N) # 继续调用计数器函数,End相当与传给函数的第一个数,N是传给函数的第二个数 return Number result = Counter(1, 0, 1) print("得出的数字是:", result)

输出结果

/usr/bin/python3.5 /home/Guniao/Documents/PycharmProjects/blogcodes/递归.py 1次计算,第一个数字是0,第二个数字是1 2次计算,第一个数字是1,第二个数字是1 3次计算,第一个数字是1,第二个数字是2 4次计算,第一个数字是2,第二个数字是3 5次计算,第一个数字是3,第二个数字是5 6次计算,第一个数字是5,第二个数字是8 7次计算,第一个数字是8,第二个数字是13 8次计算,第一个数字是13,第二个数字是21 9次计算,第一个数字是21,第二个数字是34 10次计算,第一个数字是34,第二个数字是55 得出的数字是: 34 Process finished with exit code 0

转载于:https://www.cnblogs.com/sjie0224/articles/7562546.html

总结

以上是生活随笔为你收集整理的Python学习之路-12 (递归)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。