函数递归

函数递归

  • 函数递归:函数重复地调用自己,这叫递归。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # 函数不断地内部调用
    def d():
         return '232'
     
    def c():
         r = d()
         return r
     
    def b():
         r = c()
         return r
     
    def a():
         r = b()
         print (r)
    a()
     
    - - - - -
    232
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #函数重复调用自己,叫做递归
    def func(n):
         n + = 1
         if n > = 5 :
             return 'a'
         return func(n)
     
    r = func( 1 )
    print (r)
     
    - - - - -
    a

  • 使用递归 7*6*5*4*3*2*1​

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #方法一
    def factorial(num):
      
         if num> 1 :
             return num * factorial(num - 1 )
         else :
             return 1
      
    sum = factorial( 7 )
    print ( sum )
    - - - - - -
    5040
  • 阶乘变换(11*9*7*5*3*1)(12*10*8*6*4*2)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    def fa1(a):
     
         if a % 2 = = 0 :
             if a > 2 :
                 return a * fa1(a - 2 )
             else :
                 return 2
             pass
         else :
             if a > 1 :
                 return a * fa1(a - 2 )
             else :
                 return 1
     
    b = fa1( 11 )
    c = fa1( 12 )
    print (b,c)
    - - - - -
    10395 46080







转载于:https://www.cnblogs.com/kakarott/p/6083682.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值