Python 智能点餐系统代码示例 - 简单实现
以下是一个简单的智能点餐系统的代码示例:
class Menu:
def __init__(self):
self.items = {
'1': {'name': '鱼香肉丝', 'price': 20},
'2': {'name': '宫保鸡丁', 'price': 25},
'3': {'name': '红烧肉', 'price': 30},
'4': {'name': '麻婆豆腐', 'price': 15},
'5': {'name': '青椒肉丝', 'price': 18}
}
def display_menu(self):
print('菜单:')
for item_id, item in self.items.items():
print(f'{item_id}. {item['name']} - ¥{item['price']}')
def get_item_price(self, item_id):
item = self.items.get(item_id)
if item:
return item['price']
else:
return None
class Order:
def __init__(self):
self.menu = Menu()
self.items = {}
def add_item(self, item_id, quantity):
price = self.menu.get_item_price(item_id)
if price:
if item_id in self.items:
self.items[item_id]['quantity'] += quantity
else:
self.items[item_id] = {'name': self.menu.items[item_id]['name'], 'price': price, 'quantity': quantity}
print(f'已添加 {quantity} 份 {self.items[item_id]['name']} 到订单。')
else:
print('无效的菜品 ID。')
def remove_item(self, item_id):
if item_id in self.items:
item_name = self.items[item_id]['name']
del self.items[item_id]
print(f'已从订单中移除 {item_name}。')
else:
print('菜品 ID 不存在于订单中。')
def view_order(self):
print('订单:')
if self.items:
total_price = 0
for item_id, item in self.items.items():
subtotal = item['price'] * item['quantity']
print(f'{item['name']} - ¥{item['price']} x {item['quantity']} = ¥{subtotal}')
total_price += subtotal
print(f'总计:¥{total_price}')
else:
print('订单为空。')
def main():
order = Order()
order.menu.display_menu()
while True:
print('\n请选择操作:')
print('1. 添加菜品到订单')
print('2. 从订单中移除菜品')
print('3. 查看订单')
print('4. 退出')
choice = input('请输入选项编号: ')
if choice == '1':
item_id = input('请输入菜品 ID: ')
quantity = int(input('请输入数量: '))
order.add_item(item_id, quantity)
elif choice == '2':
item_id = input('请输入菜品 ID: ')
order.remove_item(item_id)
elif choice == '3':
order.view_order()
elif choice == '4':
break
else:
print('无效的选项,请重新输入。')
if __name__ == '__main__':
main()
这个代码示例中有两个类:Menu 和 Order。Menu 类负责管理菜单,包括展示菜单和获取菜品价格。Order 类负责管理订单,包括添加菜品、移除菜品和查看订单。
在 main 函数中,通过循环接收用户的操作选项,并调用相应的方法执行操作。用户可以选择添加菜品到订单、从订单中移除菜品、查看订单或退出程序。
请注意,这只是一个简单的示例代码,可能还有很多功能可以添加和改进。
原文地址: https://www.cveoy.top/t/topic/o6Yw 著作权归作者所有。请勿转载和采集!