python-3.x BasicAF:项目:小费计算器

kd3sttzy  于 2023-08-08  发布在  Python
关注(0)|答案(1)|浏览(94)

这些是该项目的参数:

如果账单为150美元,则5人分摊,小费为12%。

每人应支付(150.00 / 5)* 1.12 = 33.6

将结果格式化为2位小数= 33.60

  • 请记住,你可能有一个解决方案,使用一些高级代码,我可能不熟悉。
bill = input("What is the total bill?")

# bill is 150.00

tip = input("What percentage tip would you like to give? 10, 12, or 15?")

# tip will be 12%

max_tip = float(tip) / 100

# split between 5 people
people = input("How many people to split the bill?")

max_split = int(bill) / int(people)
max_cost = int(max_split) * float(max_tip)

print(f"Each person should pay:{max_cost}")

字符串
以下是我当前输出:
总费用是多少?150你想给予多少百分比的小费?10岁12岁还是15岁?12、多少人分摊账单?5每人应缴:3.5999999999999996
我从前面的课程中知道,你可以四舍五入(数字,2),这应该意味着python要四舍五入两位传递小数。
float(max_tip,2)这是唯一对我有意义的地方。但我的结果是:
第77行,在max_cost = int(max_split)* float(max_tip,2)中,类型错误:float最多需要1个参数,但得到2个
进程已完成,退出代码为1
谢谢你的任何提示和建议。我很感激。
我厌倦了自己用我到目前为止学到的东西来弄清楚这一点。但我想不出如何四舍五入两位通过小数。
还有,我怎么把0.12%变成1.12%?

q5lcpyga

q5lcpyga1#

我不完全确定你想从这个问题中得到什么,但这里有一些对你的代码的修复。首先,你想知道如何舍入,你可以使用round()方法,它的第一个参数是数字,第二个参数是你想舍入到多少个地方。你还问到把0.12%变成1.12,你会怎么做(tip / 100) + 1。我在下面的代码中添加了这些更改:

bill = float(input("What is the total bill?"))
tip = int(input("What percentage tip would you like to give? 10, 12, or 15?"))
people = int(input("How many people to split the bill?"))

decimal_multiplier = tip / 100 + 1
max_split = bill / people
max_cost = round((max_split * decimal_multiplier), 2)

print(f"Each person should pay: {max_cost}")

字符串

相关问题