Python中的提示计算器
答案应该是15,但上面给出的是12.0。不知道为什么。 当我尝试打印tip_%时,它给出了0.0 小费百分比计算如下:Python中的提示计算器,python,python-3.x,Python,Python 3.x,答案应该是15,但上面给出的是12.0。不知道为什么。 当我尝试打印tip_%时,它给出了0.0 小费百分比计算如下: def solve(meal_cost, tip_percent, tax_percent): tip_percent=float(meal_cost * (tip_percent / 100)) tax_percent=float(meal_cost * (tax_percent / 100)) total_cost=meal_cost + tip_p
def solve(meal_cost, tip_percent, tax_percent):
tip_percent=float(meal_cost * (tip_percent / 100))
tax_percent=float(meal_cost * (tax_percent / 100))
total_cost=meal_cost + tip_percent + tax_percent
return (total_cost)
print(solve(12, 20, 8))
我正在开始学习Python 您的结果与使用Python 2的结果一致。在Python 2中,如果要除法的数字是整数,则
/
是整数除法。要强制浮点数学将100
更改为100.0
:
float(meal_cost * (tip_percent / 100))
或者改为使用Python 3
结果:
这是因为您正在使用Python2进行测试,它返回12.0。 在Python3中,相同的代码将返回15.36 原因是Python改变了在Python3中处理除法的方式 例如:
3/2=1(在Python 2.7.6中)
3/2=1.5(在Python 3.4.1中)
将其除以100.0(而不是除以100)。
您可以在这里找到的示例:我得到的代码是15.36。您确定您使用的是python 3吗?
def solve(meal_cost, tip_percent, tax_percent):
tip_percent=float(meal_cost * (tip_percent / 100.0))
tax_percent=float(meal_cost * (tax_percent / 100.0))
total_cost=meal_cost+tip_percent+tax_percent
return total_cost
print(solve(12,20,8))
15.36