• python学习之递归函数


    递归函数:函数内部调用函数本身

    优点:定义简单、逻辑清晰

        函数调用是通过栈实现的,每进入一个函数调用,栈就会增加一层栈帧,每当函数返回,栈就会减一层栈帧

      因为递归函数多次调用本身,可能会出现栈溢出的现象,所以我们要利用尾递归来防止栈溢出

    尾递归:在函数返回的时候调用自身,return语句不包含表达式

    练习:

    请编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法

    def move(n, a, b, c):
        if n==1:
            print(a, '-->', c)
        else:
            move(n-1,a,c,b)#将n-1个盘子移到b盘上
            move(1,a,b,c)#将最底部的盘子移到c盘上
            move(n-1,b,a,c)#将b盘上的盘子移到c盘上

    结果如下所示:

  • 相关阅读:
    Spring restful
    LDAP & Implementation
    Restful levels and Hateoas
    事务隔离的级别
    servlet injection analysis
    session and cookie
    write RE validation
    hello2 source analysis
    匿名函数和递归函数
    生成器和迭代器,列表推导式
  • 原文地址:https://www.cnblogs.com/manaizhuang/p/8670408.html
Copyright © 2020-2023  润新知