zoukankan      html  css  js  c++  java
  • 递归函数

    递归函数:函数间接或者直接调用自己

    递归分成2个过程:

    1.往下调用,分解过程

    2.往上回溯,综合过程

    注意条件:递归一定要有结束条件,以资源换取编写速度

    #九九乘法表
    for i in range(1,10):
        for j in range(1, i + 1):
            print(i*j, end="  ")
        print()
    
    tuple1 = ((1,2,3),('a','b','c'))  #单层循环
    for i,j,k in tuple1:
        print(i,j,k)
    
    
    def fun_a(n):  #求n阶乘
        print(n)
        if n == 1:
            return 1
        return n*fun_a(n-1)
    
    print(fun_a(5))
    
    
    def fun_b(n):  #斐波那契数列
        if n == 1 or n == 2:
            return  1
        return fun_b(n-1) + fun_b(n-2)
    
    print(fun_b(10))
    
    
    def hanno(a, b, c, n): #汉诺塔
        if n == 1:
            print("{}->{}".format(a,c))  #一个盘子移一次
            return None
        if n == 2:
            print("{}->{}".format(a,b))  #两个盘子移3次
            print("{}->{}".format(a,c))
            print("{}->{}".format(b,c))
            return None
        hanno(a,c,b,n-1)   #n个盘子,借助c盘子先把上面n-1个移到b盘
        print("{}->{}".format(a, c))
        hanno(b,a,c,n-1)  #b上n-1个盘子,再借助a盘子移到c上
    
    print(hanno('A','B','C',3))
  • 相关阅读:
    jQuery文档操作之删除操作
    jQuery文档操作之修改操作
    jQuery文档操作之克隆操作
    jQuery文档操作之插入操作
    jQuery的使用
    js Demo
    使用jQuery操作input的value值
    Flask-Request
    Flask-Response
    Flask-认识flask
  • 原文地址:https://www.cnblogs.com/heertong/p/12727669.html
Copyright © 2011-2022 走看看