【新2023】华为od机试 - 吃火锅(python)
时间: 2023-12-02 22:01:12 浏览: 43
题目要求:计算一个火锅店的消费金额。
解题思路:
首先,根据题目描述和给定的输入,我们需要获取用户选择的菜品类型和数量,以及桌面人数。然后,根据价格表计算每种菜品的消费金额,并累加得到总金额。最后,根据桌面人数设置折扣,并计算最终应付金额。
具体实现:
1. 首先定义一个价格字典,将每种菜品的类型与价格对应起来。
2. 读取输入的菜品类型和数量,可以使用循环进行多次输入,将用户选择的菜品类型和数量保存到一个列表中。
3. 根据菜品列表,计算每种菜品的消费金额,使用循环遍历列表,根据菜品类型从价格字典中获取价格,并与数量相乘得到消费金额,并累加得到总金额。
4. 根据输入的桌面人数设置折扣,如人数大于等于4人则折扣为0.8,否则折扣为1。
5. 根据折扣和总金额计算最终应付金额,并输出结果。
代码示例:
```python
# 定义价格字典
price_dict = {
'鱼丸': 10,
'牛肉': 25,
'豆腐': 8,
# 其他菜品及其价格
}
# 读取菜品类型和数量
dish_list = []
while True:
dish_type = input('请输入菜品类型(输入q退出):')
if dish_type == 'q':
break
dish_count = int(input('请输入菜品数量:'))
dish_list.append((dish_type, dish_count))
# 计算消费金额
total_amount = 0
for dish_type, dish_count in dish_list:
total_amount += price_dict[dish_type] * dish_count
# 设置折扣
people_count = int(input('请输入桌面人数:'))
if people_count >= 4:
discount = 0.8
else:
discount = 1
# 计算最终应付金额
final_amount = total_amount * discount
# 输出结果
print('您的消费金额为:{}元'.format(final_amount))
```
以上就是描述该问题的解决方案和示例代码,通过以上的步骤,我们可以得到用户在该火锅店消费的最终金额。