用Python求自然数 n 的阶乘 n!,其中 n 由用户通过键盘输入
时间: 2024-09-19 17:07:59 浏览: 50
python递归函数求n的阶乘,优缺点及递归次数设置方式
在Python中,你可以使用循环结构和递归的方式来计算自然数n的阶乘(n!)。这里给出两种方法:
**迭代法(非递归):**
```python
def factorial_iterative(n):
if n == 0 or n == 1:
return 1
else:
result = 1
for i in range(1, n + 1):
result *= i
return result
n = int(input("请输入一个自然数:"))
print(f"{n}的阶乘是:{factorial_iterative(n)}")
```
**递归法:**
```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时),然后执行相应的计算。
阅读全文