2017-07-07 66 views
-7

尖端和稅計算器

bill = price + tax + tip 

price = raw_input("What is the price of the meal") 

tax = price * .06 

tip = price * 0.20 

什麼是錯我的代碼 我已經試過各種 請回答,並回到我請告訴我錯了我的Python程序

+1

'raw_input()'返回一個'string'。 – PYA

+1

你的預期產量和實際產量是多少?還是有錯誤?這種情況下的錯誤是什麼? – jacoblaw

+1

你有什麼錯誤?一個明顯的錯誤是,價格,稅收和小費都是在聲明之前使用的。至少你可能會得到這個錯誤。 –

回答

2

幾件事情。

bill = price + tax + tip #You can't add up these values BEFORE calculating them 

price = raw_input("What is the price of the meal") #raw_input returns a string, not a float which you will need for processing 

tax = price * .06 #So here you need to do float(price) * .06 

tip = price * 0.20 #And float(price) here as well. 

#Then your " bill = price + tax + tip " step goes here 
1

首先,你不能使用你還沒有定義的變量:在你的代碼的使用bill = price + tax + tip但你的程序甚至不知道什麼樣的價格,稅和小費還沒有,所以行應該在代碼的末尾,在你問價格並計算稅和小費之後。

然後,你有raw_input,這個函數返回一個字符串,如果你想將其轉換爲十進制數,你可以乘法和加法(浮動),您可以使用price = float(raw_input("what is the price of the meal"))

正確的,兩件事情,它應該工作...

1

下面有幾件事情錯代碼:

  1. 你試圖計算已經定義了一些變量之前總。
  2. raw_input函數返回一個字符串,因此在將它強制爲一個整數之前,您無法進行正確的數學計算。
  3. 在計算提示/稅款時,您應該使用整數1(1.20)的浮動賬戶來計算賬單的整體價值+ 20%。

下面的代碼片段應該工作,你怎麼想,給你一些思考如何將calculate_bill功能自定義提示花車和自定義稅彩車內的動態值傳遞到修飾語:

def calculate_bill(bill, bill_modifiers): 
    for modifier in bill_modifiers: 
     bill = modifier(bill) 
    return bill 


def calculate_tip(bill, percentage=1.20): 
    return bill * percentage 


def calculate_tax(bill, percentage=1.06): 
    return bill * percentage 


if __name__ == '__main__': 
    bill = int(input("What is the price of the meal: ")) 
    total_bill = calculate_bill(bill, [calculate_tip, calculate_tax]) 
    print(total_bill) 
相關問題