递归
# 斐波那契 # 问第n个斐波那契数是多少 #后一个数是前面两个数之和 # 0 1 1 2 3 5 8 13 21 34 55 89 # def fib(n): # if n == 0 or n ==1: # return 1 # else: # return fib(n-1) +fib(n-2) # ret = fib(5) # print(ret) #阶乘 #4! 4*3*2*1 4* 3! # 3! 3*2*1 3* 2! # 2! 2*1 2* 1! # 1! 1 # def mul(n): # if n == 1: # return 1 # else: # return n * mul(n-1) # ret = mul(20) # print(ret)
#递归:在函数中调用自身函数 #最大递归深度默认是997或者998,这个值是python从内存角度出发做的限制 #如果递归次数太多,不适合使用递归来解决问题 #递归的缺点就是占内存,优点:会让代码变简单 import sys sys.setrecursionlimit(4000) #更改递归的限制数量,但是有可能跑不到设置的数量,最后不要更改默认的值 n = 0 def func(): global n n += 1 print(n) func() func()