生成一个n的阶乘Python
时间: 2023-12-25 19:27:14 浏览: 74
以下是一个递归生成n的阶乘的Python函数:
```python
def factorial_list(n):
if n == 0:
return [1]
else:
lst = factorial_list(n-1)
n_fac = lst[-1] * n
lst.append(n_fac)
return lst
```
这个函数将返回一个包含1!到n!的列表。在函数中,我们首先检查n是否为0,如果是,则返回一个只包含1的列表。否则,我们递归调用函数以生成1!到(n-1)!的列表,并将(n-1)!乘以n以获得n!,然后将其添加到列表的末尾。
例如,如果我们调用factorial_list(5),将返回以下列表:
```python
[1, 1, 2, 6, 24, 120]
```
相关问题
生成一段简单的python递归函数求阶乘
当然可以,以下是一段简单的Python递归函数求阶乘的代码:
```
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
你可以通过调用这个函数来计算任何正整数的阶乘。
python计算n的阶乘
可以使用循环语句来计算 n 的阶乘,具体的实现方法如下:
```python
n = int(input("请输入一个正整数:"))
factorial = 1
for i in range(1, n+1):
factorial *= i
print("{} 的阶乘为 {}".format(n, factorial))
```
代码的逻辑非常简单,首先通过 `input()` 函数获取用户输入的正整数 n,然后使用循环语句计算 n 的阶乘,将结果保存在变量 `factorial` 中,并在循环结束后输出结果。
需要注意的是,这里使用了 `range()` 函数来生成从 1 到 n 的整数序列,并且使用了 `*=` 运算符来进行累乘操作。
阅读全文