2017-07-07 7 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

どのようなエラーが表示されますか?明らかなエラーの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. ヒント/税を計算する際には、請求書全体の価値を20%引き上げるために、整数1(1.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) 
関連する問題