我在運行我寫的代碼時遇到了一些麻煩。提示計算器返回零
meal = float(raw_input("How much did your meal cost? "))
tax = 6.75/100
tip = 15/100
total = (meal * tax) * tip
print total
你可以在上面看到我做了這個「小費計算器」。每當我輸入一個數字,它就會返回零。看起來它正在跳過整個計算部分。
任何解決方案?
我在運行我寫的代碼時遇到了一些麻煩。提示計算器返回零
meal = float(raw_input("How much did your meal cost? "))
tax = 6.75/100
tip = 15/100
total = (meal * tax) * tip
print total
你可以在上面看到我做了這個「小費計算器」。每當我輸入一個數字,它就會返回零。看起來它正在跳過整個計算部分。
任何解決方案?
在Python 2中,/
是整數除法。因此,15/100 = 0,你就是這樣。只是15.0
這不是相當真實。在Python 2中,如果(只有當它的兩個操作數都是整數時(除非你從__future__導入除法)'','/'才執行整數除法。 –
更換15如果是Python 2.7版你正在做的整數除法,這意味着你的尖端計算爲15/100 = 0
from __future__ import division
在程序的頂部將解決這一。
的問題是在這條線:
tip = 15/100
由int
除以一個int
將導致int
。在這種情況下,15/100
給出0
,互補模運算15 % 100
給出15
餘數。
如果更改15
到float
它會工作,因爲精度,保存和tip
將是一個float
,而不是一個int
。嘗試:
tip = 15.0/100
做'尖= 15.0/100',而不是'尖= 15/100' – muddyfish
'總=吃飯+(粕*含稅)+餐* tip'的實際總 – depperm