zoukankan      html  css  js  c++  java
  • python基础之函数的递归调用

    #在一个函数内部可以调用其他函数,如果在一个函数内调用自己则称为递归调用
    # def calc(n):#自然数的阶乘
    #     s=0
    #     if n==0 or n==1:
    #         s=1
    #     else :
    #         s=n*(calc(n-1))
    #     return s
    # print (calc(0))
    #
    
    # def calc_power(x,n):#求x的n次方
    #     s=0
    #     if n==0:
    #         s=1
    #     else:
    #         s=x*(calc_power(x,n-1))
    #     return s
    #
    # print(calc_power(3,4))
    
    # #######################  汉 诺 塔 游 戏  ############################
    # #汉诺塔三根杆子,一根上面有64个盘子,最大的在下面,其余一个比一个小
    # #依次叠上去,借助第二根杆,将64个盘子移动到第三根杆上每次只搬一个圆
    # # 盘,且大的不能放在小的上面
    # def hannuota(x,a,b,c):
    #     if x==1:
    #         move(a,c)
    #     else:
    #         hannuota(x-1,a,c,b)
    #         move(a,c)
    #         hannuota(x-1,b,a,c)
    #
    # def move(x,y):
    #     print(x+'-->'+y)
    #
    # print(hannuota(4,'A','B','C'))
    
    '''
    函数的递归调用效率并不高,其他编程语言可以通过尾调用的方式,解决递归调用效率低的问题。
    但python中不支持尾调用。PS : 并没有搞懂为什么不支持
    尾调用:在函数的运行最后一步进行调用,PS;函数运行最后一步不一定是函数最后一行
    '''
    def calc(n):#自然数的阶乘
        s=0
        if n==0 or n==1:
            return 1
        else :
            return n*(calc(n-1))
        # return s
    print (calc(4))
  • 相关阅读:
    docker 安装 nexus3 初始密码不再是admin123
    eclipse中Tomcat修改项目名称
    WAMP3.1.3自定义根目录
    git学习笔记
    小米和MAC触摸板手势汇总
    IDEA快捷键汇总
    servelet 实现Post接口访问
    LeetCode:Jump Game II
    LeetCode:Trapping Rain Water
    LeetCode: Container With Most Water
  • 原文地址:https://www.cnblogs.com/zatusnemiku/p/13121143.html
Copyright © 2011-2022 走看看