2017-06-16 60 views
-1

我對如何做到這一點感到困惑 - 編寫一個程序sumAll.py,提示用戶輸入數字,每行一個,以包含0的行結束,並保持號碼。只有在輸入所有數字後(至少在最終版本中)纔打印出總和。不要創建一個列表!每次你閱讀一個號碼,你可以立即用它作爲你的總和,然後用剛輸入的號碼完成。Python - 查找全部

這是我的代碼,但一直說中斷不在循環中。

sum = 0 
while(True): 
    n = int(input('Please enter a number: ')) 
    if n==0: 
     break 
    sum = sum + n 
print("Sum = "+str(sum)) 
+6

Stack Overflow不是要求他人爲您編寫代碼的地方。如果你寫了一些代碼並被卡住了,請分享你的代碼到目前爲止,並提出一個更具體的問題。 – smarx

回答

1

我認爲你在那裏。該代碼工作正常。錯誤是什麼? 你也可以使用raw_input代替 -

#!/usr/bin/env python 
sum = 0 
while(True): 
    n = int(raw_input('Please enter a number: ')) 
    if n == 0: 
     break 
    sum = sum + n 
print("Sum = "+str(sum)) 

輸出 -

$python test.py 
Please enter a number: 1 
Please enter a number: 2 
Please enter a number: 3 
Please enter a number: 0 
Sum = 6 
0

「破發是退出循環,因爲」你寫的「如果」聲明,「破發」出來的,而loop.your而循環只是ip「if」語句而已。在while循環中寫入「if」然後檢查。它會工作。

-1

這是正確的縮進打印你寫條件不在while循環下。

sum = 0 
while(True): 
    n = int(input('Please enter a number: ')) 
    if n==0: 
    break 
    sum = sum + n 
print("Sum = "+ str(sum))