• day6--递归函数


    一递归函数

    我们老师经常喜欢讲的一句话就是:人理解函数,神理解递归,那么什么是递归函数?

    递归函数:在一个函数里面调用函数本身,也就是说这个函数里面出现了和函数一样的名字

    例如:

    def  func(n):
        print('我是递归%s' %n)
        n=n+1
        func(n)
    n=10
    func(n)

    上面的例子,它会无限递归下去,那么,它到什么时候停止呢,天荒地老,还是海枯石烂?

    经过实际证明,它内部有个限定值:997,一旦到了998它就报错了,函数的每次调用都会产生一个名称空间,是要消耗内存的,这么多的递归基本能解决问题了,没有的话,需要优化代码了。

    那是不是可以突破这个限制呢,答案是可以

    import sys
    print(sys.setrecursionlimit(‘任意值’))

    通过上面的代码,你可以修改为任意值,但是这个情况似乎只能当作一个热闹,修改是没有意义的。

    二递归示例

    递归很多的场景是本次的操作需要前一次的数据,以此类推下去。。。

    例如阶乘

    def factorial(n):
        if n==1:return n
        else:
            return n*factorial(n-1)
    print(factorial(10))

      

  • 相关阅读:
    冲刺阶段站立会议每日任务3
    冲刺阶段站立会议每日任务2
    典型场景描述
    冲刺阶段站立会议每天任务1
    第七周学习进度
    第六周学习进度
    四则运算网页版
    团队项目简介(1000字)
    返回一个二维整数数组中最大联通子数组的和
    本周学习进度
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/9222711.html
Copyright © 2020-2023  润新知