代码12是如何使用的?

代码12是如何使用的?

def factorial(n):
  """
  This function calculates the factorial of a non-negative integer n.

  Args:
    n: The non-negative integer whose factorial is to be calculated.

  Returns:
    The factorial of n.
  """

  if n == 0:
    return 1
  elif n == 1:
    return 1
  else:
    return n * factorial(n-1)


if __name__ == "__main__":
  print(factorial(5))

代码解释:

  1. factorial 函数接受一个整数 n作为输入。

  2. 如果 n 等于 0 或 1,则返回 1,因为 0! 和 1! 都定义为 1。

  3. 如果 n 大于 1,则递归调用 factorial 函数求解 n 的前一个数字的阶乘。

  4. factorial 函数递归调用自身,直到 n 的子问题已经处理完毕。

  5. 返回 n 的所有子问题的乘积,即其阶乘。

  6. if __name__ == "__main__":块中,调用 factorial(5) 函数,并打印其结果。

输出:

120

说明:

  • factorial 函数使用递归算法来计算阶乘。
  • 阶乘是一个数字的乘积,例如 5! = 5 x 4 x 3 x 2 x 1 = 120。
  • 代码确保在计算阶乘时处理所有合法输入。
相似内容
更多>