python中的函数递归

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

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

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

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

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

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

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

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

相关推荐
小玮看世界2 分钟前
[Python]动态规划三步走:从爬楼梯到打家劫舍,再到最大子数组和
开发语言·python·动态规划
AI视觉网奇7 分钟前
3d子部件高亮选中
开发语言·javascript·3d
风萧萧19999 分钟前
JAVA :JSONObject转换为XML
xml·java·python
海拥✘10 分钟前
网页抓取 API 稳定性怎么测?用 Dataify 完成一次真实压测
python
databook12 分钟前
几何分布:从“等一个结果”开始
python·数据挖掘·数据分析
zzzll111116 分钟前
深入理解 Java HashMap:从原理到实战
java·开发语言·哈希算法
猫猫不是喵喵.23 分钟前
Java开发高频面试题汇总(通俗易懂版)
java·开发语言·java高频面试
用户03321266636726 分钟前
如何在 Python 环境中裁剪 PDF 页面
python
威联通网络存储29 分钟前
TS-h2287XU-RP 在医药制造批记录与合规归档场景的部署
python·制造
k4m7v2pz30 分钟前
用 rust-verb-shell 重写进程管理:从 game.sh 到 .rvs 的迁移实录
开发语言·后端·rust