零基础学Python(22)

 

函数:递归

1.递归求阶乘?

  • 写一个求阶乘的函数

    • 正整数阶乘:1乘以2乘以3乘以4一直乘到所要求的数。

      :kissing_smiling_eyes:所给数是5,则阶乘式是: \(1 \times 2 \times 3 \times 4 \times 5 = 120\)

    • 非递归形式:

      def factorial(n):
          result = n
          for i in range (1,n):
      	    result *= i
          
          return result
          
      number = int(input('请输入一个整数:'))
      result = factorial(number)
      print("%d 的阶乘是:%d" % (number,result))
      
    • 递归形式:

      def factorial(n):
          if n == 1:
              return 1
          else:
              return n * factorial(n-1)
          
      number = int(input('请输入一个整数:'))
      result = factorial(number)
      print("%d 的阶乘是 %d" % (number,result))
      
    • 解释

      mark