这些是该项目的参数:
如果账单为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%?
1条答案
按热度按时间q5lcpyga1#
我不完全确定你想从这个问题中得到什么,但这里有一些对你的代码的修复。首先,你想知道如何舍入,你可以使用
round()
方法,它的第一个参数是数字,第二个参数是你想舍入到多少个地方。你还问到把0.12%变成1.12,你会怎么做(tip / 100) + 1
。我在下面的代码中添加了这些更改:字符串