递归 函数 recursion
递归调用是指函数直接或间接的调用自身
递归说明:
1. 递归函数一定要控制递归的层数(也叫深度)当符合一定条件时要终止递归调用
2. 几乎所有的递归都能用while 循环来代替
递归函数的实现方法:
先假设此函数已经实现
![](https://i-blog.csdnimg.cn/blog_migrate/519d070f9db6aa7beaef52fae307165f.png)
思考:如何用递归(不用while,for和sum)来实现1+2+3+...+100的和
![](https://i-blog.csdnimg.cn/blog_migrate/159eb539af0cefc342ee28ec4add2226.png)
递归的优缺点:
优点:
递归可以把问题简单化,让思路更为清晰,代码更简洁
缺点:
递归因系统环境影响大,当递归深度太大时,可能会得到不可预知的结果
CPython 默认递归深度是 1000 层