0

これは私のコードです(Python 3.2)

Total = eval(input("How many numbers do you want to enter? "))
#say the user enters 3
for i in range(Total):
    Numbers = input("Please enter a number ")
#User enters in 1
#User enters in 2
#User enters in 3
print ("The sum of the numbers you entered is", Numbers)
#It displays 3 instead of 6

正しく加算するにはどうすればよいですか?

4

3 に答える 3

3

あなたの行を素早く汚い書き直し:

Total = int(input("How many numbers do you want to enter? "))
#say the user enters 3
Numbers=[]
for i in range(Total):
    Numbers.append(int(input("Please enter a number "))
#User enters in 1
#User enters in 2
#User enters in 3
print ("The sum of the numbers you entered is", sum(Numbers))
#It displays 3 instead of 6

という理由で Python 3 を使用していると思いますprintが、Python 2 を使用している場合raw_inputinput.

于 2012-10-06T23:22:00.237 に答える
2

このコードはあなたの問題を解決します:

total = int(input("How many numbers do you want to enter? "))
#say the user enters 3
sum_input = 0
for i in range(total):
    sum_input += int(input("Please enter a number "))
#User enters in 1
#User enters in 2
#User enters in 3
print ("The sum of the numbers you entered are", sum_input)

いくつかのコメント:

  1. スタイリングと変数名については、 pep8に固執する必要があります。具体的にはunder_store、変数名や関数名、CapWordsクラス名に使用します。
  2. ここでの使用にevalは疑問があります。この記事evalでは 、ほとんどの場合を使用すべきではない理由について非常によく説明しています。
于 2012-10-06T23:21:22.180 に答える
1

for ループの外側で変数を宣言し、ループ内で変数に入力番号を追加し続ける必要があります。

numbers = 0
for i in range(Total):
    numbers += int(input("Please enter a number "))

print ("The sum of the numbers you entered are", numbers)
于 2012-10-06T23:21:25.613 に答える