zoukankan      html  css  js  c++  java
  • Python 入门之 递归

    1、递归

    递:一直传参

    归:返回

    (1)不断调用自己本身(无效递归 -- 死递归)

        def func():
            print(1)
            func()
        func()
    

    (2)有明确的终止条件

    递归的最大深度(层次) 官方说明1000 实际测试998/997

    递归的应用场景:
    english = [["1",["a","b","c","d","e",["f",["g","h",["j","k"]]]]],
            ["2",["l"],],
            ["3",["m"]]]
    
    for i in english :
        if type(i) == list:
            for em in i:
                if type(em) == list:
                    for j in em:
    
    在列表中嵌套列表,循环输出列表中的每个元素时,多层for循环嵌套,不但麻烦,而且如果在列表中添加新元素时,就得重新编写代码。
    此时,可用递归的方法解决上述问题。
    如下: 
    def func(m):
        for i in m:
            if type(i) == list:
                func(i)
            else:
                print(i)
    func(english)
    
    # 用递归实现斐波那契数
    def func(num):
        if num == 0 or num == 1:
            return 1
        return func(num-1) + func(num-2)
    
    for i in range(8):
        print(func(i))
    
  • 相关阅读:
    Sql批处理语句
    使用waitfor 语句
    将文件分对话拆分
    集合
    用户登录系统
    fromkeys() keys() values() items()
    通讯录程序
    字符串分割方法split()函数
    装逼的本质就是把同一东西说成不同的事物
    字典
  • 原文地址:https://www.cnblogs.com/caiyongliang/p/11451287.html
Copyright © 2011-2022 走看看