2017-02-24 9 views
1

私はこの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) 

エラーが私が取得する:あなたがあなたのプログラムを書くことができ、2つの方法があります

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

(1、n + 1): –

+0

ありがとうございます。 –

+0

偉大な、幸運:) –

答えて

0

。代わりに、コードの最低額を使用して同じことを達成しようとしている場合は、次の2行がどうなる

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: ')))) 
関連する問題