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))
答案应该是15,但上面给出的是12.0。不知道为什么。 当我试着打印小费百分比,它给0.0。你知道吗
小费百分比计算如下:
float(meal_cost * (tip_percent / 100))
我在初级阶段学习Python。你知道吗
这是因为您正在使用python2进行测试,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)。
你可以在这里找到例子:https://riptutorial.com/python/example/2797/integer-division
您的结果与使用python2的结果一致。在Python中,如果要除数是整数,那么
/
就是整数除法。要强制浮点数学将100
更改为100.0
,请执行以下操作:或者改为使用python3。你知道吗
结果:
相关问题 更多 >
编程相关推荐