用Python实现阶乘
时间: 2023-11-05 10:09:49 浏览: 36
可以使用递归或循环的方式实现阶乘。
使用递归的方式:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 调用
result = factorial(5)
print(result) # 输出 120
```
使用循环的方式:
```python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
# 调用
result = factorial(5)
print(result) # 输出 120
```
相关问题
python递归实现阶乘
以下是使用递归实现阶乘的Python代码示例:
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n-1)
num = int(input('请输入一个数字:'))
print(factorial(num))
```
这段代码定义了一个名为`factorial`的函数,该函数使用递归方式计算阶乘。当输入的数字为0或1时,函数直接返回1;否则,函数将调用自身来计算`n`的阶乘。最后,我们通过调用`factorial`函数并传入用户输入的数字来打印输出结果。
用python实现n的阶乘
可以使用递归方式实现n的阶乘,也可以使用循环方式实现。下面分别给出两种实现方式:
1. 递归方式实现n的阶乘:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
```
2. 循环方式实现n的阶乘:
```python
def factorial(n):
result = 1
for i in range(1, n+1):
result *= i
return result
```
以上两种实现方式都可以求解n的阶乘,不过在实际应用中,循环方式更为常用,因为递归方式可能会出现栈溢出的问题。