用python解决【问题描述】编写一个函数fact,可以计算出给定正整数的阶乘。 【输入形式】8 【输出形式】40320
时间: 2023-06-18 18:07:13 浏览: 221
计算一个数的阶乘
可以使用递归或循环来解决这个问题。下面分别给出两种方法的代码实现。
方法一:使用递归
```python
def fact(n):
if n == 1:
return 1
else:
return n * fact(n-1)
n = int(input("请输入一个正整数:"))
result = fact(n)
print("{}的阶乘是:{}".format(n, result))
```
方法二:使用循环
```python
def fact(n):
result = 1
for i in range(1, n+1):
result *= i
return result
n = int(input("请输入一个正整数:"))
result = fact(n)
print("{}的阶乘是:{}".format(n, result))
```
两种方法都可以得到正确的结果,但是递归方法在计算阶乘较大的数时可能会因为递归深度过大而导致程序崩溃。因此,在实际使用中,应该选择使用循环的方法来计算阶乘。
阅读全文