我在运行我写的代码时遇到了一些麻烦。
meal = float(raw_input("How much did your meal cost? "))
tax = 6.75 / 100
tip = 15 / 100
total = (meal * tax) * tip
print total
你可以在上面看到我做了这个"小费计算器"。每当我输入一个数字时,它都会返回零。好像它正在跳过整个计算部分。
任何解决方案?
答案 0 :(得分:3)
如果它是python 2.7你正在进行整数除法,这意味着你的小费计算为15/100 = 0.
from __future__ import division
在程序的顶部将解决此问题。
答案 1 :(得分:1)
在python 2中,/
是整数除法。因此,15/100 = 0,你就这么多了。只需用15.0替换15
答案 2 :(得分:0)
问题在于这一行:
tip = 15 / 100
将int
除以int
会产生int
。在这种情况下,15 / 100
会为您提供0
,而互补的模运算15 % 100
会提供15
个余数。
如果您将15
更改为float
,那么它将有效,因为精度得以保留,而tip
将是float
而不是int
。尝试:
tip = 15.0 / 100