python中的函数递归

函数递归,就是一个函数,自己调用自己。

如上图所示,是一段通过定义函数,编写函数体来实现for循环。实现的是从1到n的累乘。即求n的阶乘,

如上图所示,是一段函数的递归来实现1到n的累乘操作,将1****n拆分成一个个的子问题,如果条件是1时就返回1,如果条件不是1时,就return n * factor(n - 1)将n的值一步步衰减。

递归的代码,虽然很多时候看起来写法很简单,但是执行过程可能会非常复杂!!

在分析递归代码的时候,光用脑子想,是很困难!!

要么画图,要么使用调试器,来一步步的查看代码的运行情况。

如果递归函数的递推公式写错,那么就可能出现无限递归的情况,造成栈溢出(即这块内存空间用来储存变量的值是不够的,由此出现栈溢出的情况。)

递归的优点:代码非常简洁,尤其是处理一些"问题本身就是通过递归的方式定义的"

相关推荐
吴声子夜歌8 分钟前
Java——显示条件
java·开发语言
有味道的男人8 分钟前
1688 商品价格 API:阶梯价、代发价、批发价实时查询
开发语言·windows·python
范范@15 分钟前
python基础-for循环和列表
开发语言·python
小白学大数据24 分钟前
Python 爬虫动态 JS 渲染与无头浏览器实战选型指南
开发语言·javascript·爬虫·python
朔北之忘 Clancy27 分钟前
2026 年 3 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·一级
m0_6091604931 分钟前
如何用 some 检测数组中是否存在至少一个满足条件的项
jvm·数据库·python
佳xuan34 分钟前
模型训练之爬取数据
开发语言·python
张二娃同学38 分钟前
第12篇_深度学习学习路线总结
人工智能·python·深度学习·神经网络·学习
之歆41 分钟前
DAY_10 JavaScript 深度解析:原型链 · 引用类型 · 内置对象 · 数组方法全攻略(上)
开发语言·javascript·ecmascript