zoukankan      html  css  js  c++  java
  • day 17 初始递归

    递归函数
    了解什么是递归 : 在函数中调用自身函数
    最大递归深度默认是997/998 —— 是python从内存角度出发做的限制
    能看懂递归
    能知道递归的应用场景
    初识递归 ——
    算法 —— 二分查找算法
    三级菜单 —— 递归实现

    手动设置递归深度
    import sys

    sys.setrecursionlimit(100000)
    n = 0


    def story():
    global n
    n += 1
    print(n)
    story()


    Recursion : 递归
    RecursionError: maximum recursion depth exceeded while calling a Python object
    递归错误,超出了递归的最大深度
    story()

    如果递归次数过多,就不适合使用递归来解决问题
    递归的缺点: 占内存;
    递归的优点: 让代码变简单

    递归的用处:通过多个结果来得到最终答案,这其中的运算步骤都是一致的
    递:从最终答案开始一直往下遍历到给出的条件
    归:从已知条件向上进行多次重复运算,直到得到最终条件

    范例:

      

    # alex 多大? n = 1 age(1)=age(2)+2 = age(n+1)+2
    # alex 比 egon大两岁
    # egon 多大? n = 2 age(2)=age(3)+2 = age(n+1)+2
    # egon比 wusir大两岁
    # wusir 多大? n = 3 age(3)=age(4)+2 = age(n+1)+2
    # wusir 比 king大两岁
    # king 多大?
    # king 40 岁 n = 4 age(4)= 40
    
    # n = 4 age(4) = 40
    # n < 4 age(n) = age(n-1)+2
    
    def age(n):
    if n == 4:
    return 40
    elif 0 < n < 4:
    return age(n + 1) + 2
    
    
    print(age(1))
    View Code
  • 相关阅读:
    POJ测试数据合集
    POJ1724ROADS
    关闭进程的数据库
    config上传设置
    tfs 撤销挂起的更改
    cn_visual_studio_team_foundation_server_2010_x86_x64_dvd_531909
    js 中文转义
    文件下载乱码
    杀死数据库进程
    Python基础综合练习
  • 原文地址:https://www.cnblogs.com/77-is-here/p/10668917.html
Copyright © 2011-2022 走看看