Python餐厅管理系统(控制台版本)

简介: Python餐厅管理系统(控制台版本)

开发思路:

1.明确需求和使用方:

①:用户和商家身份

②:所具备功能

③:注意的细节

2.具体功能

商家:

①:商家后台登录

②:商家进行增删改查商品

用户:

①:将菜单中的商品加入自己的订单

②:从订单中删除菜品

③:查询菜单中的菜品

④:结算功能

准备过程的代码

# 客户的点餐字典
dict_myMenu = {}
# 商家的菜单
dict_Menu = {'美味蟹堡': {'Price': 12, 'Count': 12}, '三明治': {'Price': 18, 'Count': 52}, '趣霸堡': {'Price': 14, 'Count': 22}}
# 中间容器
dict_add_Menu = {}
# 存储用户账号密码的字典
dict_account = {}
# 商家账号密码登录
Id = 'xbw123'  # 账号
password = '123'  # 密码

具体流程

while True:
    # 欢迎语
    print('欢迎登船享受蟹堡王的美食')
    # 先打印一遍菜单
    print(f'请看菜单:{dict_Menu}')
    # 打印可以进行的操作
    while True:
        identity = input('请输入您的身份(输入数字):\n 1.商家\n 2.用户\n')
        if identity == '1':
            G_Id = str(input('请输入账号:'))
            G_password = str(input('请输入密码:'))
            if G_Id == Id and G_password == password:
                while True:
                    print('欢迎回来,祝你能有开心的一天')
                    choose_merchant = input('请选择操作:\n 1.添加菜品到菜单表 \n 2.删除菜单表中的菜品\n 3.修改菜品数据\n 4.回到主菜单\n')
                    if choose_merchant == '1':
                        add_menu()
                    elif choose_merchant == '2':
                        delete_menu()
                    elif choose_merchant == '3':
                        update_menu()
                    elif choose_merchant == '4':
                        break
                    else:
                        print('请输入正确的选项')
                else:
                    print('账号或密码错误,返回主界面')
        elif identity == '2':
            while True:
                choose_client = input(
                    '尊敬的用户,请选择操作:\n 1.添加菜品到我的订单+\n 2.从我的订单删除菜品-\n 3.查询我的订单\n 4.返回主菜单\n 5.结算 ')
                if choose_client == '1':
                    add_goods()
                elif choose_client == '2':
                    delete_goods()
                elif choose_client == '3':
                    find_goods()
                elif choose_client == '4':
                    # 退出程序,清空个人订单
                    dict_myMenu.clear()
                    break
                elif choose_client == '5':
                    buy()
                else:
                    print('您的输入有误')
                    continue
        else:
            print('请输入数字进行身份选择哦')

中间具体方法封装的函数

商家使用:

"""
函数定义(商家使用)
"""
def add_menu():
    global dict_Menu
    global dict_add_Menu
    """商家进货"""
    goods_name = input('请输入菜品的名称')
    goods_count = int(input('请输入要添加的数量'))
    if goods_name in dict_Menu:
        dict_Menu[goods_name]['Count'] += goods_count
        print('添加成功')
        # save_data()
    else:
        print('您输入的菜品名称不在菜单中,即将生成新的菜单菜品')
        goods_price = float(input('请输入商品的价格'))
        # 把商品添加到菜单中
        dict_add_Menu = {goods_name: {'Price': goods_price, 'Count': goods_count}}
        dict_Menu.update(dict_add_Menu)
        print('添加成功')
        # save_data()
def delete_menu():
    """商家删除菜单菜品"""
    global dict_Menu
    print(dict_Menu)  # 删除前打印所有菜品
    dict_name = input('请输入要删除的菜品名称')
    if dict_name in dict_Menu:
        """删除前提示是否删除"""
        boolean = input('确定要删除吗?(Yes/No)')
        if boolean == 'Yes':
            del dict_Menu[dict_name]
            # save_data()
        elif boolean == 'No':
            print('您选择了取消操作')
            # 打印菜单
            print(dict_Menu)
        else:
            print('您的输入有误,请重新输入')
    else:
        print('您输入的菜品名称不在菜单中,请重新输入')
def update_menu():
    """商家修改菜单"""
    global dict_Menu
    print(dict_Menu)
    update = input('请输入要修改的数据:\n 1.修改名称\n 2.修改价格')
    try:
        update = int(update)
    except:
        print('输入的不是数字')
    if update == 1:
        front_name = input('请输入要修改的名称')
        if front_name in dict_Menu:
            back_name = input('请输入修改后的名称')
            # dict_Menu[front_name] = dict_Menu[back_name]
            dict_Menu = eval(str(dict_Menu).replace(front_name, back_name))
            # save_data()
            print('修改成功')
        else:
            print('该商品不存在')
    elif update == 2:
        goods_name = input('请输入要修改价格的菜品名称')
        if goods_name in dict_Menu:
            goods_price = float(input('请输入修改后的价格'))
            dict_Menu.update({goods_name['Price':goods_price]})
            # save_data()
        else:
            print('该商品不存在')
    else:
        print('请输入正确的选项')

客户使用:

"""
函数定义(客户使用)
"""
def add_goods():
    """客户点菜"""
    print(f'菜单{dict_Menu}')
    global dict_myMenu
    goods_name = input('请输入要添加的菜品名称')
    goods_count = int(input('请输入要添加菜品数量'))
    if goods_name not in dict_Menu:
        print('该餐品不存在哦,请重新选择')
    else:
        if dict_Menu[goods_name]['Count'] >= goods_count:
            # 库存菜品减少
            dict_Menu[goods_name]['Count'] -= goods_count
            # 自动计算价格及数量
            try:
                num = dict_myMenu[goods_name]['Count']
                num += goods_count
                price = dict_myMenu[goods_name]['Price']
                price = dict_Menu[goods_name]['Price'] * num
            except:
                num = goods_count
                price = dict_Menu[goods_name]['Price'] * num
            dict_myMenu[goods_name] = {'Price': price, 'Count': num}
            # 添加菜品到个人订单中
            print(f'您的菜品{dict_myMenu}')
def delete_goods():
    """客户删除点餐字典数据"""
    global dict_myMenu
    # read()
    print(dict_myMenu)  # 删除之前先打印自己的点餐字典
    goods_name = input('请输入要删除的菜品的名称')
    if goods_name not in dict_Menu:
        print('该餐品不在你的点餐表中哦,请重新选择')
    else:
        good_count = int(input('请输入要删除的数量'))
        if dict_myMenu[goods_name]['Count'] >= good_count:
            dict_myMenu[goods_name]['Count'] -= good_count
            if dict_myMenu[goods_name]['Count'] == 0:
                del dict_myMenu[goods_name]
            # 用户取消菜品,商家该菜品增加
            dict_Menu[goods_name]['Count'] += good_count
            print(f'您的菜品{dict_myMenu}')
            # save_data1()
        else:
            print('您输入的删除的菜单菜品数量有误,请重新输入')
def buy():
    """结算"""
    global dict_myMenu
    if dict_myMenu == {}:
        print('您的订单中没有数据')
    else:
        print(f'您的订单{dict_myMenu}')
        dict_myMenu.clear()
        # save_data1()
        print(f'结算成功,您的点菜单剩余{dict_myMenu}')
def find_goods():
    """客户查询个人菜品菜单"""
    print(dict_myMenu)

需要注意的细节问题:

①:因为本项目未使用面向对象的方法所以在增加商菜品时需直接改变数量即可

②:商家在增加菜品时如果未包含该商品会自动提示生成新的菜品

③:商家修改时不可修改菜品数量

④:客户增加菜品时,商家的库存对应减少,个人订单自动计算价格和数量

⑤:新增结算功能,结算时打印订单,并清除菜单中的菜品

供各位参考学习!!!

有需要可以私信联系作者哦

目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
130 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
1月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
54 7
|
1月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
5天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
42 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
2月前
|
Shell Python
使用 pyenv 来管理多个 Python 版本(2)
使用 pyenv 来管理多个 Python 版本(2)
128 71
使用 pyenv 来管理多个 Python 版本(2)
|
27天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
103 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
2月前
|
存储 缓存 监控
局域网屏幕监控系统中的Python数据结构与算法实现
局域网屏幕监控系统用于实时捕获和监控局域网内多台设备的屏幕内容。本文介绍了一种基于Python双端队列(Deque)实现的滑动窗口数据缓存机制,以处理连续的屏幕帧数据流。通过固定长度的窗口,高效增删数据,确保低延迟显示和存储。该算法适用于数据压缩、异常检测等场景,保证系统在高负载下稳定运行。 本文转载自:https://www.vipshare.com
132 66
|
1月前
|
机器学习/深度学习 算法 前端开发
基于Python深度学习果蔬识别系统实现
本项目基于Python和TensorFlow,使用ResNet卷积神经网络模型,对12种常见果蔬(如土豆、苹果等)的图像数据集进行训练,构建了一个高精度的果蔬识别系统。系统通过Django框架搭建Web端可视化界面,用户可上传图片并自动识别果蔬种类。该项目旨在提高农业生产效率,广泛应用于食品安全、智能农业等领域。CNN凭借其强大的特征提取能力,在图像分类任务中表现出色,为实现高效的自动化果蔬识别提供了技术支持。
基于Python深度学习果蔬识别系统实现
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
2月前
|
存储 算法 Python
文件管理系统中基于 Python 语言的二叉树查找算法探秘
在数字化时代,文件管理系统至关重要。本文探讨了二叉树查找算法在文件管理中的应用,并通过Python代码展示了其实现过程。二叉树是一种非线性数据结构,每个节点最多有两个子节点。通过文件名的字典序构建和查找二叉树,能高效地管理和检索文件。相较于顺序查找,二叉树查找每次比较可排除一半子树,极大提升了查找效率,尤其适用于海量文件管理。Python代码示例包括定义节点类、插入和查找函数,展示了如何快速定位目标文件。二叉树查找算法为文件管理系统的优化提供了有效途径。
64 5

热门文章

最新文章