我是这个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'
答案 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: '))))