zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    MyBatis原理分析
    oracle修改数据遇到的坑
    oracle查询时遇到的坑
    maven镜像
    易错题
    binlog2sql 安装使用
    Archery SQL审核平台搭建
    Docker安装
    夜莺n9e监控搭建
    influxdb安装
  • 原文地址:https://www.cnblogs.com/hzgq/p/11764500.html
Copyright © 2011-2022 走看看