2017-08-30 1 views
-5

ユーザーが0を入力するまでユーザーが入力した一連の数値を加算し、入力したすべての数値の合計を表示するプログラムを作成しようとしています。これは私が持っていると苦労イムは、あなたは、Python 3を使用している場合、それはこれにつきました

print ("Keep inputting numbers above 0 and each one will be added together consecutively. enter a and the total will be displayed on the screen. have fun") 

number = input("Input a number") 

sum1 = 0 

while number >= 1: 

    sum1 = sum1 + number 

if number <= 0: 
    print (sum1) 
+0

あなたは何が壊れているか説明していません。 –

+0

何が間違っているか説明してください。あなたはどんなアウトプットを期待していますか?実際に出力/エラーとは何ですか? –

+0

問題を説明してください。何が起こっている?何が効いていないのですか?あなたは何をしようとしましたか?質問には問題の明確な説明が必要です。しかし実際の問題に関しては、コードを読んで、どのようなことが起こったのか、ユーザーが何かを求められたときなどには、問題を理解する必要があります。または、デバッガを取得し、行ごとに実行します。 –

答えて

0

、あなたがnumber = int(input("Input a number"))input以来の戻り文字列を言う必要があります修正するものです。 Python 2を使用している場合、inputは数字には有効ですが、その他の問題があります。ベストプラクティスはint(raw_input(...))です。詳細については、How can I read inputs as integers?を参照してください。

ユーザが繰り返し番号を入力するようにするには、whileループ内にinputも必要です。今は一度だけ実行されます。

+0

これで助けてくれてありがとう –

1

ここで、数値を入力するためのより堅牢な方法があります。追加できるかどうかをチェックします。さらに、正の数と負の数を加えました。

# -*-coding:Utf-8 -* 

print ("Keep inputting numbers different than 0 and each one will be added together consecutively.") 
print ("Enter a and the total will be displayed on the screen. Have fun.") 

sum = 0 
x = "" 

while type(x) == str: 
     try: 
       x = int(input("Value : ")) 
       if x == 0: 
         break 
       sum += x 
       x = "" 
     except: 
       x = "" 
       print ("Please enter a number !") 

print ("Result : ", sum) 
関連する問題