2016-08-23 76 views
0

我在運行我寫的代碼時遇到了一些麻煩。提示計算器返回零

meal = float(raw_input("How much did your meal cost? ")) 

tax = 6.75/100 
tip = 15/100 

total = (meal * tax) * tip 

print total 

你可以在上面看到我做了這個「小費計算器」。每當我輸入一個數字,它就會返回零。看起來它正在跳過整個計算部分。

任何解決方案?

+3

做'尖= 15.0/100',而不是'尖= 15/100' – muddyfish

+0

'總=吃飯+(粕*含稅)+餐* tip'的實際總 – depperm

回答

1

在Python 2中,/是整數除法。因此,15/100 = 0,你就是這樣。只是15.0

+0

這不是相當真實。在Python 2中,如果(只有當它的兩個操作數都是整數時(除非你從__future__導入除法)'','/'才執行整數除法。 –

3

更換15如果是Python 2.7版你正在做的整數除法,這意味着你的尖端計算爲15/100 = 0

from __future__ import division 

在程序的頂部將解決這一。

0

的問題是在這條線:

tip = 15/100

int除以一個int將導致int。在這種情況下,15/100給出0,互補模運算15 % 100給出15餘數。

如果更改15float它會工作,因爲精度,保存和tip將是一個float,而不是一個int。嘗試:

tip = 15.0/100