.定义一个函数,实现求n!
时间: 2024-11-13 12:20:12 浏览: 8
在Python中,你可以使用循环或递归来定义一个计算阶乘(n!)的函数。这里我会给你两种方法的例子:
**使用循环的方法**:
```python
def factorial_recursive(n):
if n == 0 or n == 1: # 阶乘的基本情况,0和1的阶乘都是1
return 1
else:
result = 1 # 初始化结果为1
for i in range(1, n+1): # 从1到n遍历
result *= i # 每次更新结果为当前结果乘以i
return result
# 示例
print(factorial_recursive(5)) # 输出 120
```
**使用递归的方法**:
```python
def factorial_iterative(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial_iterative(n - 1)
# 示例
print(factorial_iterative(5)) # 输出 120
```
这两种方法都可以计算阶乘,但递归可能会导致堆栈溢出对于较大的n值,而循环则更加高效。
阅读全文