python - Python中的小费计算器
问题描述
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。不知道为什么。当我尝试打印tip_percent 时,它给出了0.0。
tip_percent 计算如下:
float(meal_cost * (tip_percent / 100))
我在开始阶段学习 Python。
解决方案
您的结果与使用 Python 2 一致。在 Python 2/
中,如果要除的数字是整数,则为整数除法。强制浮动数学更改100
为100.0
:
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))
或者改为使用 Python 3。
结果:
15.36
推荐阅读
- scala - 当结构中的所有值都为空时,如何在 Scala spark 中使结构为空?
- slack-api - Slack API - 如何发送多个图像,以便它们显示在画廊中
- javascript - Three.js - 模型无法接收任何阴影
- reactjs - React-intl - 如何使用默认语言环境
- python - 在循环中多次过滤熊猫数据帧的最快方法
- hibernate - 使用 @Convert 在字段上创建路径时引发 IllegalArgumentException
- excel - 将 INDIRECT 与数组输入一起使用
- powershell - 调用 RESTMethod 错误“request_data 必须是类型:dict”
- matlab - 在并行模式下运行测试时,如何解决冲突的 simulink 仿真加速工件问题?
- angular - 如何使用 Mozilla Firefox 处理屏幕旋转问题