代码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))
代码解释:
-
factorial
函数接受一个整数n
作为输入。 -
如果
n
等于 0 或 1,则返回 1,因为 0! 和 1! 都定义为 1。 -
如果
n
大于 1,则递归调用factorial
函数求解n
的前一个数字的阶乘。 -
factorial
函数递归调用自身,直到n
的子问题已经处理完毕。 -
返回
n
的所有子问题的乘积,即其阶乘。 -
在
if __name__ == "__main__":
块中,调用factorial(5)
函数,并打印其结果。
输出:
120
说明:
-
factorial
函数使用递归算法来计算阶乘。 - 阶乘是一个数字的乘积,例如 5! = 5 x 4 x 3 x 2 x 1 = 120。
- 代码确保在计算阶乘时处理所有合法输入。