2016-10-17 82 views
0

我想在python 3.5.2中添加,但我有一個未指定數量的變量。我必須使用非常基本的功能;我不能使用list。我無法弄清楚如何在沒有list的情況下將每個新變量加在一起。當我運行代碼時,它會添加最後輸入的price1,即-1。我需要使用-1來告訴程序總計所有變量。如何將未指定數量的變量添加到一起?

count = 0 

while (True): 

    price1 = int(input("Enter the price of item, or enter -1 to get total: ")) 

    count += 1 

    if (price1 ==-1): 
     subtotal = (price1 +) #this is where I"m having trouble 
           #at least I think this is the problem 
     tax = (subtotal*0.05) 
     total = (subtotal + tax) 

     print("Subtotal: . . . . . ", subtotal) 
     print("Tax: . . . . . . . . ", tax) 
     print("Total: . . . . . . . .", total) 

     break 
+1

你的問題不清楚,你期待什麼確切的輸出? –

+0

我正在嘗試獲取小計。我想如果我能得到,我不能弄清楚總機智的稅收。 – John

回答

1

你已經差不多了。看看你的代碼,我建議你做的就是在你的循環之外創建一個subtotal變量,並將其初始化爲0。此外,你沒有使用count做任何事情,所以擺脫這一點。

當您得到您的price輸入時,請在-1條件之後檢查它。如果你有一個-1的值,那麼繼續你的數學,否則你的else將開始運行subtotalsubtotal += price

所以,你應該有這樣的:

subtotal = 0 
while (True): 

    price = int(input("Enter the price of item, or enter -1 to get total: ")) 

    if price == -1: 
     tax = subtotal*0.05 
     total = subtotal + tax 

     print("Subtotal: . . . . . ", subtotal) 
     print("Tax: . . . . . . . . ", tax) 
     print("Total: . . . . . . . .", total) 

     break 
    else: 
     subtotal += price 
+0

如何不使用計數?我以爲你需要某種計數,所以它不會永遠運行。 – John

+0

@John你永遠不會用你的'count'來檢查它是否違反任何值,以便知道你是否應該打破'while'。你正在設置一個'break'在你的'如果價格== -1'的條件,這將是什麼*將*分開你的循環 – idjaw

+0

謝謝。我不相信我就是那麼接近它。我現在真的在踢自己。再次感謝。 – John

2

保持周圍另一個變量和金額比起來,也count不用於任何所以沒有真正的理由,以保持它周圍。

例如,初始化price名稱0

price = 0 

然後,檢查是否該值是-1,如果沒有,簡單的增加(+=)的price變量與price1獲得的值:

if price1 == -1: 
    subtotal = price 
    tax = subtotal*0.05 
    total = subtotal + tax 

    print("Subtotal: . . . . . ", subtotal) 
    print("Tax: . . . . . . . . ", tax) 
    print("Total: . . . . . . . .", total) 

    break 
else: 
    price += price1 
+0

你可以在'if語句後刪除那些括號 – 2016-10-17 06:07:19

+0

我需要使用while循環雖然 – John

+0

事實上,我可以,由於某種原因而錯過了那些。感謝您指出@ Dex'ter。 –