使用顺序程序的给定数字的因子

时间:2017-02-24 13:31:41

标签: python-3.x

我是这个python编码的新手。所以,有人可以找到这个代码有什么问题。

def factorial(n):
    sum=1
    for i in range(1..n+1):
        sum=sum*i
    print(sum)
    return sum

v=int(input("enter the number:"))
factorial(v)

我得到的错误:

enter the number:4
Traceback (most recent call last):
File "C:/Users/Ramakrishnar/AppData/Local/Programs/Python/Python36/fact.py",line 9, in <module>
 factorial(v)
  File "C:/Users/Ramakrishnar/AppData/Local/Programs/Python/Python36/fact.py", line 3, in factorial
for i in range(1..n+1):
AttributeError: 'float' object has no attribute 'n'

1 个答案:

答案 0 :(得分:0)

您可以通过两种方式编写程序。要重新格式化代码以使其处于良好状态,您可以按如下方式组织程序:

def main():
    variable = int(input('Enter the number: '))
    print(factorial(variable))


def factorial(number):
    total = 1
    for integer in range(1, number + 1):
        total *= integer
    return total


if __name__ == '__main__':
    main()

如果您尝试使用最少量的代码完成同样的事情,以下两行将为您完成同样的事情:

import math
print(math.factorial(int(input('Enter the number: '))))