以下是一个简单的智能点餐系统的代码示例:

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()

这个代码示例中有两个类:MenuOrderMenu 类负责管理菜单,包括展示菜单和获取菜品价格。Order 类负责管理订单,包括添加菜品、移除菜品和查看订单。

main 函数中,通过循环接收用户的操作选项,并调用相应的方法执行操作。用户可以选择添加菜品到订单、从订单中移除菜品、查看订单或退出程序。

请注意,这只是一个简单的示例代码,可能还有很多功能可以添加和改进。


原文地址: https://www.cveoy.top/t/topic/o6Yw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录