初识递归
了解递归
在函数中调用自身函数,最大递归深度默认是997或998 ——是python从内存角度出发做的限制
如果递归次数太多,就不合适使用递归来解决问题
递归的确定:战内存
递归的优点:会使代码简单
修改递归的最大深度
import sys sys.setrecursionlimit(100000) #数字内容可以随意修改
例1、
def age(n): if n == 4: return 40 elif n > 0 and n < 4: return age(n+1)+2 print(age(1)) # 8、此处调用了age(1),所以打印出age(1) 46 """ 第一次执行: def age(1): if 1 == 4: return 40 elif 1 > 0 and 1 < 4: return age(2)+2 #此时会先执行age(1+1),将age(2)返回再次执行 7、此时age(2)为46,将值返回给age(1) print(age(1)) # 1、第一次调用,首先先执行age(1),此时n=1 第二次执行: def age(2): if 2 == 4: return 40 elif 2 > 0 and 2 < 4: return age(3)+2 # 2、将age(3)返回函数再次执行 6、此时age(3)为 44,将值回给age(2) 第三次执行: def age(3): if 3 == 4: return 40 elif 3 > 0 and 3 < 4: return age(4)+2 # 3、将age(4)返回函数再次执行 5、此时值为 42 ,将值返回给age(3) 第四次执行: def age(4): if 4 == 4: return 40 # 4、执行结束,因为谁调用函数,值就会返回给谁,所以40会返还给第三次执行中调用它的函数 elif 3 > 0 and 3 < 4: return age(3+1)+2 print(age(1))
能看到递归
能知道递归的应用场景
初识递归
算法--二分查找法
三级菜单--递归实现