Python怎么计算阶乘
时间: 2024-10-17 18:00:49 浏览: 3
在Python中,可以使用递归或循环的方式来计算阶乘。这里分别给出这两种方法:
**递归方法**:
```python
def factorial_recursive(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial_recursive(n - 1)
n = int(input("请输入一个非负整数: "))
print(f"{n}的阶乘是: ", factorial_recursive(n))
```
这个函数会一直调用自身,直到n达到基本情况(0或1),然后逐级返回结果。
**循环方法**:
```python
def factorial_iterative(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
n = int(input("请输入一个非负整数: "))
print(f"{n}的阶乘是: ", factorial_iterative(n))
```
这里通过一个循环,从1乘到n,直接得到阶乘的结果,避免了递归可能导致的效率降低。
相关问题
Python计算阶乘
Python中计算阶乘可以使用循环或递归的方式实现。下面是两种常见的方法:
1. 循环方式:
```python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
```
2. 递归方式:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
```
以上两种方法都可以计算给定数字n的阶乘。循环方式通过迭代累乘的方式计算,而递归方式则通过不断调用自身来实现。
python计算阶乘
计算阶乘可以使用递归或循环,以下是两种方法的示例代码:
使用递归:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n - 1)
# 示例:计算5的阶乘
print(factorial(5)) # 输出120
```
使用循环:
```python
def factorial(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
# 示例:计算5的阶乘
print(factorial(5)) # 输出120
```
阅读全文