为什么这个阶乘函数给出了错误的结果?

时间:2017-07-11 23:22:26

标签: python python-3.x

def Factorial(n):
   result = 1
   for i in range(1,n):
        result = result * (result+1)
   print(result)
Factorial(5)

前5个数字的结果是:

1 - > 1

2 - > 2

3 - > 6

4 - > 42

5 - > 1806

我的功能有什么不正确?

1 个答案:

答案 0 :(得分:1)

def Factorial(n):
   result = 1
   for i in range(1,n):
        result = result * (i+1)
   print(result)

替换

result = result * (result+1)

result = result * (i + 1)
相关问题