zoukankan      html  css  js  c++  java
  • 初识递归

    了解递归

    在函数中调用自身函数,最大递归深度默认是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))

    能看到递归

    能知道递归的应用场景

    初识递归

    算法--二分查找法

    三级菜单--递归实现

  • 相关阅读:
    使用语句修改数据表结构
    C# 写日志到文件
    mysql 语句要求
    跨discuz站获取
    php 记录图片浏览次数次数
    js获取url传递参数值
    jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因
    mkfs
    mount
    dd
  • 原文地址:https://www.cnblogs.com/wanglan/p/9558303.html
Copyright © 2011-2022 走看看