递归


# 斐波那契  # 问第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)

#阶乘
#44*3*2*1  4* 3!
# 33*2*1  3* 2!
# 22*1    2* 1!
# 11
# 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()
原文地址:https://www.cnblogs.com/jdwy24/p/13907152.html