首页 > 解决方案 > 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。

标签: pythonpython-3.x

解决方案


您的结果与使用 Python 2 一致。在 Python 2/中,如果要除的数字是整数,则为整数除法。强制浮动数学更改100100.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

推荐阅读