如何使用python中的循环使数字阶乘

时间:2018-11-27 16:03:05

标签: python python-3.x

我正在使用python 3,我想编写代码以使用for循环查找数字的阶乘,有人可以帮助我吗?

这是我已经拥有的代码:

def factorial_list(n):
    if n== 1:
        return [1]
    else if n== 2:
        return [1, 1]
    else:
        for i in range(n):
            #what should i put in here

 the code should output:

factorial_list(12)  --> [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800]

有人可以看看它,找到我应该添加的内容

顺便说一句,我已经检查过了,这不是任何其他问题的副本,因为他们从未要求过循环

1 个答案:

答案 0 :(得分:0)

可能的实现方式:

def factorial_list(n):
    ret = [1]
    for i in range(1,n+1):
        ret.append(ret[-1] * i)
    return ret

>>> factorial_list(12)
[1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, 3628800, 39916800, 479001600]