用迭代计算for循环的阶乘

时间:2018-02-16 00:09:06

标签: python

def factorial(num):
    fac=1
    if num!=0:
        fac= ((fac*i) for i in range(1,number+1)) 
    return fac
print ("Enter the number:")
number =int(input())
print (str(factorial(number)))

''' 第4行不允许理解。为什么会这样?这是一个限制吗? '''

1 个答案:

答案 0 :(得分:0)

如果你的目标是计算一个阶乘

,请尝试这样的事情
for i in range(2,num+1):
    fac = fac * i 

如果您的目标是使用列表理解生成最多N个阶乘的列表,请查看以下帖子:Create list of factorials using list comprehension