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)

需要注意的细节问题:

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

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

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

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

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

供各位参考学习!!!

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

目录
相关文章
|
2月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
210 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
2月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
82 7
|
2月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
4天前
|
弹性计算 运维 监控
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
本文介绍了如何通过阿里云获取ECS云服务器并进行操作系统配置与组件安装,以实现高效的资源管理和系统监控。阿里云凭借强大的基础设施和丰富的服务成为用户首选。文中详细描述了获取ECS、RAM授权、开通操作系统控制台及组件安装的步骤,并展示了如何利用控制台实时监控性能指标、诊断系统问题及优化性能。特别针对idle进程进行了深入分析,提出了优化建议。最后,建议定期进行系统健康检查,并希望阿里云能推出更友好的低成本套餐,满足学生等群体的需求。
60 17
【阿里云】控制台使用指南:从创建ECS到系统诊断测评
|
7天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
42 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
4天前
|
弹性计算 运维 监控
操作系统控制台-健康守护我们的系统
阿里云操作系统控制平台作为新一代云端服务器中枢平台,通过创新交互模式重构主机管理体验。用户可通过API、SDK、CLI等方式进行系统管理,采用图形化控制替代传统命令行操作,集智能运维、集群协调、生态扩展于一体,显著提升企业级IT设施管理效能。通过此平台,用户可以轻松实现运维监控、智能助手、扩展插件管理及订阅服务等功能,大幅降低运维复杂度,提高管理效率。
31 11
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
95 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
2天前
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
2月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
154 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
20天前
|
存储 算法 量子技术
解锁文档管理系统高效检索奥秘:Python 哈希表算法探究
在数字化时代,文档管理系统犹如知识宝库,支撑各行各业高效运转。哈希表作为核心数据结构,通过哈希函数将数据映射为固定长度的哈希值,实现快速查找与定位。本文聚焦哈希表在文档管理中的应用,以Python代码示例展示其高效检索特性,并探讨哈希冲突解决策略,助力构建智能化文档管理系统。

热门文章

最新文章