2017-10-12 18 views
0

学習のpythonを学習し、この問題を少し悩まされてきました。私はこの出力を生成するプログラムを必要とする:ループの乗算のためのPython

Enter a negative number: -6 
720 

式は次のとおりです。-1 x -2 x -3 x -4 x -5 x -6 = -720

マイコード:

n = int(input('Enter a negative number: ')) 
result = 0 
for i in range(-1*n): 
    result = result + i 
print(result) 
+0

'for'ループ内の文は字下げする必要があります。 – Barmar

+1

実行する式は何ですか? '0'から '5'までの数字を加算すると '15'だけが返されます。 – Barmar

+0

入力いただきありがとうございます!私は-6を入力して720を生成するはずです -1 x -2 x -3 x -4 x -5 x -6 = 720 – hendro3

答えて

0

n = 6場合、range(-1 * n)0, 1, 2, 3, 4, 5になります。それらはあなたが望む数字ではありません、あなたは-6, -5, -4, -3, -2, -1が欲しいです。そのシーケンスを取得するには、range(n, 0)を使用する必要があります。

あなたは増やすべきではなく、増やすことになっています。つまり、0の乗算は常に0であるため、0ではなく、1で結果を初期化する必要があります。

n = int(input('Enter a negative number: ')) 
result = 1 
for i in range(n, 0): 
    result *= i 
print(result) 
+0

aaaaa私は見る!ありがとうございました!結果= 1は、インクリメントを1に設定することですか? – hendro3

+0

いいえ、 'range()'はデフォルトで1ずつ増加します。 – Barmar

+0

グレードスクール算術:何でも0を掛けると0になります。乗算している場合は、「1」で始める必要があります。 – Barmar