• python---递归函数


    1、递归函数:函数调用填本身

    #n!
    def digui(n):
        if n==0:
            return 1
        return n * digui(n-1)
    
    m = digui(3)
    print(m)
    
    控制台输出:6

    2、举个例子--斐波那契函数

    def fib(n):
        if n == 0:
            return 0
        elif n == 1:
            return 1
        else:
            return fib(n-1) + fib(n-2)
    
    n = fib(10)
    print(n)
    
    控制台输出:55

    3、详细说明

      a:把问题分成更小子问题,此处将 abcdef,分为 a 和 bcdef

      b:有一个函数可以应用在所有的子问题上 str[1:]+str[0]

      c:把子问题的解,拼成最终问题的解,即递归的部分。return fanzhuan(str[1:])+str[0]

      d:子问题到最低层时该返回什么值,即什么时候停止递归。下面的 if 条件

    str1 = 'abcdef'
    def fanzhuan(str):
        if len(str) == 1:
            return str
        return fanzhuan(str[1:])+str[0]
    
    str2 = fanzhuan(str1)
    print(str2)
    
    控制台输出:fedcba

    4、本文参考博文:https://blog.csdn.net/weixin_43405546/article/details/83045725

  • 相关阅读:
    Day-5 python
    Day-2 python
    OCR技术浅探
    yael图像检索库
    编程语言
    BOW模型和SIFT特征
    汉明嵌入
    Lua1.1 Lua 的参考手册 (三)
    Lua1.1 Lua 的参考手册 (二)
    Lua1.1 Lua 的参考手册 (一)
  • 原文地址:https://www.cnblogs.com/hzgq/p/11764500.html
Copyright © 2020-2023  润新知