032. 编写一个函数,计算一个数字的阶乘
032. 编写一个函数,计算一个数字的阶乘
在 Python 中,可以通过递归或迭代的方式来计算一个数字的阶乘。
方法 1:递归实现
递归方法是一种常见的实现阶乘的方式。阶乘的定义是:
-
n!=n×(n−1)×(n−2)×…×1
-
0!=1
递归实现的代码如下:
def factorial_recursive(n):
"""
使用递归计算数字 n 的阶乘。
参数:
n (int): 需要计算阶乘的数字。
返回:
int: 数字 n 的阶乘。
"""
if n < 0:
raise ValueError("阶乘只对非负整数定义")
if n == 0:
return 1
return n * factorial_recursive(n - 1)
# 测试代码
try:
number = int(input("请输入一个非负整数:"))
result = factorial_recursive(number)
print(f"{
number} 的阶乘是:{
result}")
except ValueError as e:
print(e)
方法 2:迭代实现
迭代方法通过循环来计算阶乘,避免了递归调用的开销。代码如下: