2017-07-09 7 views
0

初心者!「ループ外に出る」とはどういう意味ですか?

私はすべての正の数の合計、(2)すべての負の数の合計、および(3)すべての正と負の合計を出力するプログラムを作成しようとしています。数字。ユーザはいつでも異なる順序でX番号を入力することができ、必要に応じてプログラムを繰り返すことができます。

リピート機能を追加するために、ループに「break」を追加しました。しかし、私が実行しようとすると、 "break outside loop"というエラーが表示されます。私はこのエラーが何を意味するのか、どうやってそれを修正することができるのか不明です。

while True: 
    many = int(input("How many numbers would you like to enter:")) 
    Sum = 0 
    sumNeg = 0 
    for i in range(0,many,1): 
     num = float(input("Please enter number" +str(i+1)+":")) 
     Sum = Sum + num 
     if num < 0: 
      sumNeg = sumNeg + num 
    print('Sum =',Sum) 
    print('sumNeg =', sumNeg) 
repeat =input("Would you like to repeat? (Y/N):") 
if repeat != 'Y': 
    break 
+1

'break 'はループを中断しようとしますが、あなたの' break'ステートメントはループ内にありません。あなたの最後のものはインデントされるべきです。 –

+1

'repeat = input("(Y/N): ")'という行を繰り返し、次の行はループの一部ではありません。これらの行のインデントを確認します。 – Matthias

+1

注目すべき2つのトピックポイント:1)大文字の変数名を開始しないでください。 2)sum = sum + numは、すべての正の数の和が必要な場合は、else文に入れる必要があります。 –

答えて

0

break文は親if文がループの外側にあるため、ループ外にあります。

while True: 
    many = int(input("How many numbers would you like to enter:")) 
    Sum = 0 
    sumNeg = 0 
    for i in range(0,many,1): 
     num = float(input("Please enter number" +str(i+1)+":")) 
     Sum = Sum + num 
     if num < 0: 
      sumNeg = sumNeg + num 
    print('Sum =',Sum) 
    print('sumNeg =', sumNeg) 
    repeat =input("Would you like to repeat? (Y/N):") 
    if repeat != 'Y': 
     break 
+1

質問が終了したら、自動削除処理に干渉するので、完全な回答ではじめての誤字/字下げの質問には回答しないでください。 –

+1

@AndrasDeak将来的にそのことを念頭に置いておきますが、答えを削除すべきですか? –

+0

最終的に私はあなたが理解してくれたことをお勧めします。あなたは質問が終わるまで待つことができます:あなたの答えが投稿されてからの回答を止めるかもしれません:) –

関連する問題