python(餐厅点餐系统)

全部代码:

meau_lis=[[1,"牛排",50],[2,"羊排",80],[3,"大盘鸡",50],[4,"火锅鸡",68],[5,"猪大骨",35],[6,"米饭",2],[7,"寿司",5],[8,"大饼",6],[9,"小米粥",1],[10,"鸡蛋汤",2],[11,"咖啡",10],[12,"牛奶",5],[13,"西瓜汁",6],[14,"可口可乐",3],[15,"红酒",199]]
dc_lis=[]
passkeylis=[]
desk=""
#会员注册
def zhuce():print("❤❤❤❤欢迎来到米其林餐厅❤❤❤❤\n")while True:password=input("请输入会员账号:\n")key1=input("请输入密码:\n")key2=input("请再次输入密码:\n")if key1==key2:passkey=[password,key1]passkeylis.append(passkey)print("注册成功!!")print("返回首页!")breakelse:print("两次输入密码不一致,请重新注册!")continue
#输出餐桌
def canzhuo():print("❤❤❤❤欢迎来到米其林餐厅❤❤❤❤\n")print("尊敬的顾客请你选择位置\n")print("\tX-X\tX-X\tX-X\tX-X\t")print("\t|A|\t|B|\t|C|\t|D|\t")print("\tX-X\tX-X\tX-X\tX-X\t")print("\n")print("\tX-X\tX-X\tX-X\tX-X\t")print("\t|E|\t|F|\t|G|\t|H|\t")print("\tX-X\tX-X\tX-X\tX-X\t")print("\n")print("\tX-X\tX-X\tX-X\tX-X\t")print("\t|I|\t|J|\t|K|\t|L|\t")print("\tX-X\tX-X\tX-X\tX-X\t")
#输出菜单
def meau():print("本店特色:\t\t主食\t\t\t饮品")print("1  牛排-50元\t\t6  米饭-2元\t\t11 咖啡-10元")print("2  羊排-80元\t\t7  寿司-5元\t\t12 牛奶-5元")print("3  大盘鸡-40元\t\t8  大饼-6元\t\t13 西瓜汁-6元")print("4  火锅鸡-68元\t\t9  小米粥-1元\t\t14 可口可乐-8元")print("5  猪大骨-35元\t\t10  鸡蛋汤-2元\t\t15 红酒-199元\n")
# 输出选购的订单
def show_dc_lis():if len(dc_lis) == 0:print("您啥也没买 T~T.")else:print("您的选购清单:")for i in dc_lis:for j in meau_lis:if i[0] == j[0]:print(j[1] + " x " + str(i[1]))
# 点餐
def diancan():while True:meau()s = int(input("请您输入所选的餐品数字编号: \n"))n = int(input("请输入要购买的数量: \n"))a = [s,n]dc_lis.append(a)print("是否继续点购? (y\是 n\否)")k = input()if k == "y" or k == "Y":continueelif k == "n" or k == "N":show_dc_lis()breakelse:print("输入有误,结束选购.")show_dc_lis()break
# vip积分
def vip(total):print("您是否为本店会员?  (y/n)")while True:k = input()if k == "y" or k == "Y":print("您可为您的账户累计消费积分: (1元=1分) ")print("请您登录账户! ! !")while True:password = input("请输入会员账号: ")key = input("请输入密码: ")for i in passkeylis:if i[0] == password:if i[0] ==key:print("恭喜您登录成功!")print("已成功积累消费积分:{}(1元=1分)".format(total))breakelse:print("密码不正确,请重新输入! ! !")else:print("没有此账号,很遗憾本次积分作废! ! !")breakbreakbreakelif k == "n" or k == "N":print("很遗憾你不能获得积分,无法享受更多优惠,建议您下次加入我们会员大家庭享受更多权益! ! !")break
#购物评价
def pingjia():print("请为本次购物打分:")print("非常满意: A")print("满   意: B")print("不 满 意: C")print("极不满意: D")while True:x = input()if x == "A":print("感谢您的支持,祝您生活愉快!!")breakelif x == "B":print("感谢您的评价,我们将做的更好,祝您生活愉快!!")breakelif x == "C":print("抱歉让您就餐不满意,我们将进行深刻反思,争取达到您的满意,祝您生活愉快!!")breakelif x == "D":print("能收到此评价我们深感抱歉,请拨打1255584145,我们将为您提供一对一处理,祝您生活愉快!!")breakelse:print("输入有误,请重新评价!!")
#消费结算
def jiesuan():print("商品名称\t\t单价\t\t数量\t\t总价")total = 0for i in dc_lis:for j in meau_lis:if i[0] == j[0]:print(j[1]+"\t\t\t"+str(j[2])+"\t\t\t"+str(i[1])+"\t\t\t"+str(j[2]*i[1]))total = total+(j[2]*i[1])print("共计消费:{}元".format(total))vip(total)pingjia()dc_lis.clear()
#本店就餐结算
def jiucan_1():global deskcanzhuo()kk = input("请输入餐桌号:(例如:A)").upper()desk = kkwhile True:diancan()print("是否继续选购?y/n")k = input()if k == "y" or k == "Y":continueelif k == "n" or k == "N":breakprint("柜台结算:")print(desk + "桌结算信息如下:")jiesuan()print("\n")print("感谢您的光临!!!")
#带回家就餐结算
def jiucan_2():while True:diancan()print("是否继续选购?y/n")k = input()if k == "y" or k == "Y":continueelif k =="n" or k =="N":breakprint("柜台结算:")print("您结算信息如下:")jiesuan()print("\n")print("感谢您的光临!!!")
#就餐场地选择
def jiucan ():print("❤❤❤❤欢迎来到米其林餐厅❤❤❤❤\n\n")print("请问您在店吃还是带回家就餐?")print("1.再店就餐")print("2.带回家")while True:k = input()if k == "1":jiucan_1()breakelif k == "2":jiucan_2()breakelse:print("输入错误,请重新输入")input("按任意键返回")
#主界面
def main():while True:print("❤❤❤❤欢迎来到米其林餐厅❤❤❤❤\n\n")print("                  1.会员注册")print("                  2.进店就餐")print("                  3.离开")k = input("--------->请输入数字进行操作!!")if k == "1":zhuce()elif k == '2':jiucan()elif k == "3":breakelse:print("输入错误,请重新输入!!!")
main()

代码演示:

C:\Users\ASUS\AppData\Local\Microsoft\WindowsApps\python3.11.exe D:/编程/python/作业/餐厅点餐系统.py
❤❤❤❤欢迎来到米其林餐厅❤❤❤❤


                  1.会员注册
                  2.进店就餐
                  3.离开
--------->请输入数字进行操作!!1
❤❤❤❤欢迎来到米其林餐厅❤❤❤❤

请输入会员账号:
123456
请输入密码:
123456
请再次输入密码:
12345
两次输入密码不一致,请重新注册!
请输入会员账号:
123456
请输入密码:
123456
请再次输入密码:
123456
注册成功!!
返回首页!
❤❤❤❤欢迎来到米其林餐厅❤❤❤❤


                  1.会员注册
                  2.进店就餐
                  3.离开
--------->请输入数字进行操作!!2
❤❤❤❤欢迎来到米其林餐厅❤❤❤❤


请问您在店吃还是带回家就餐?
1.再店就餐
2.带回家
1
❤❤❤❤欢迎来到米其林餐厅❤❤❤❤

尊敬的顾客请你选择位置

    X-X    X-X    X-X    X-X    
    |A|    |B|    |C|    |D|    
    X-X    X-X    X-X    X-X    


    X-X    X-X    X-X    X-X    
    |E|    |F|    |G|    |H|    
    X-X    X-X    X-X    X-X    


    X-X    X-X    X-X    X-X    
    |I|    |J|    |K|    |L|    
    X-X    X-X    X-X    X-X    
请输入餐桌号:(例如:A)A
本店特色:        主食            饮品
1  牛排-50元        6  米饭-2元        11 咖啡-10元
2  羊排-80元        7  寿司-5元        12 牛奶-5元
3  大盘鸡-40元        8  大饼-6元        13 西瓜汁-6元
4  火锅鸡-68元        9  小米粥-1元        14 可口可乐-8元
5  猪大骨-35元        10  鸡蛋汤-2元        15 红酒-199元

请您输入所选的餐品数字编号: 
1
请输入要购买的数量: 
2
是否继续点购? (y\是 n\否)
y
本店特色:        主食            饮品
1  牛排-50元        6  米饭-2元        11 咖啡-10元
2  羊排-80元        7  寿司-5元        12 牛奶-5元
3  大盘鸡-40元        8  大饼-6元        13 西瓜汁-6元
4  火锅鸡-68元        9  小米粥-1元        14 可口可乐-8元
5  猪大骨-35元        10  鸡蛋汤-2元        15 红酒-199元

请您输入所选的餐品数字编号: 
6
请输入要购买的数量: 
2
是否继续点购? (y\是 n\否)
n
您的选购清单:
牛排 x 2
米饭 x 2
是否继续选购?y/n
n
柜台结算:
A桌结算信息如下:
商品名称        单价        数量        总价
牛排            50            2            100
共计消费:100元
您是否为本店会员?  (y/n)
y
您可为您的账户累计消费积分: (1元=1分) 
请您登录账户! ! !
请输入会员账号: 123456
请输入密码: 123456
恭喜您登录成功!
已成功积累消费积分:100(1元=1分)
请为本次购物打分:
非常满意: A
满   意: B
不 满 意: C
极不满意: D
A
感谢您的支持,祝您生活愉快!!


感谢您的光临!!!
按任意键返回

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/45190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解MySQL中的EXPLAIN及type列

在MySQL中,EXPLAIN是一个强大的工具,它可以帮助我们理解SQL查询的执行计划。通过使用EXPLAIN,我们可以获取到查询的详细信息,包括如何执行查询,以及查询的各个部分如何连接在一起。在本篇博客中,我们将重点…

Redis+Caffeine 实现两级缓存实战

RedisCaffeine 实现两级缓存 背景 ​ 事情的开始是这样的,前段时间接了个需求,给公司的商城官网提供一个查询预计送达时间的接口。接口很简单,根据请求传的城市仓库发货时间查询快递的预计送达时间。因为商城下单就会调用这个接口&#xff…

防火墙安全策略及用户认证实验

目录 一、实验拓扑 二、实验要求 三、实验思路 四、实验配置 1、配置vlan 2、配置路由器、防火墙IP地址,划分区域 3、配置安全策略 ​策略一: 策略二: 策略三: 4、配置用户认证 策略一: 策略二&#xff1a…

视觉SLAM与定位之一前端特征点及匹配

视觉SLAM中的特征点及匹配 参考文章或链接特征点性能的评估传统特征点和描述子(仅特征点或者特征点描述子)传统描述子 基于深度学习的特征点基于深度学习的描述子基于深度学习的特征点描述子特征匹配 参考文章或链接 Image Matching from Handcrafted t…

WebGIS基础原理

该部分内容与部分插图、学习框架的主要参考的网站与博主如下(也趁机分享给大家): OSGeo开源WebGIS在线教程:http://webgis.cn/ OSGeo《地理信息系统原理》:https://www.osgeo.cn/gis-tutorial/index.html OSGeo《Pyth…

DSC主备归档报错

先看一个报错: 2024-07-10 22:12:21.725 [ERROR] database P0000003511 T0000000000000003696 rafil_list_overlap_consecutive_check failed, rfil(DMDATA/data/DSC02/arch/ARCHIVE_LOCAL1_0x57843343_EP1_2024-07-10_20-44-40.log)->next_seq(2901) > nex…

mysql 8.0.37 客户端在centos7安装顺序

8.0.37安装客户端顺序为 yum localinstall mysql-community-libs-compat-8.0.37-1.el7.x86_64.rpm #第二步要加 --nodeps --force 参数 rpm -ivh mysql-community-libs-8.0.37-1.el7.x86_64.rpm --nodeps --force rpm -ivh mysql-community-client-plugins-8.0.37-1.el7.x8…

如何用CSS3画一个三角形?

要用 CSS3 画一个三角形,可以利用元素的边框和透明边框的特性来实现。以下是一个简单的示例代码: .triangle {width: 0;height: 0;border-left: 50px solid transparent; /* 左边框为透明,控制三角形的左斜边 */border-right: 50px solid tr…

部署Harbor仓库

本章内容: 安装docker-ce部署harbor仓库上传和拉取 1.安装docker 1)拉取源码 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 2)安装docker-ce yum -y install docker-ce 3&#…

【TS】Typescript 的类

TypeScript 是 JavaScript 的一个超集,它添加了可选的静态类型和基于类的面向对象编程。在 TypeScript 中,类是一种模板,用于创建对象。通过类,你可以封装对象的属性(数据)和方法(函数&#xff…

C++入门到进阶(图文详解,持续更新中)

C入门到进阶(图文详解,持续更新中) 目录 C入门到进阶(图文详解,持续更新中) 数据 数据类型 基本数据类型/内置数据类型 C常用运算符 赋值运算符 关系运算符 逻辑运算符 杂项运算符 数据的本地化…

第二课:使用域名dns ping通www.baidu.com

需要一台dns服务器,实现域名解析,把对应的网址变为Ip地址。 首先按照之前博客的配置,自动分配给PC1和PC2的IP地址等相关配置。 然后增加一台server交换机连接到交换机上,配置好ip地址,192.168.1.100。在dnsServer中。…

7.11日学习打卡----初学Redis(六)

7.11日学习打卡 目录: 7.11日学习打卡一. redis事务事务的概念与ACID特性Redis事务三大特性Redis事务执行的三个阶段Redis事务基本操作 二. redis集群主从复制主从复制环境搭建主从复制原理剖析 哨兵监控哨兵监控环境搭建哨兵工作原理剖析 故障转移Cluster模式Clust…

c++初阶知识——类和对象(1)

目录 1.类和对象 1.1 类的定义 1.2 访问限定符 1.3 类域 2.实例化 2.1 实例化概念 2.2 对象大小 内存对齐规则 3.this指针 1.类和对象 1.1 类的定义 (1)class为定义类的关键字,Stack为类的名字,{}中为类的主体&#xf…

达梦数据库中的线程和进程

达梦数据库中的线程和进程 在达梦数据库中,线程和进程的概念与操作系统中的定义类似,但有一些特定的实现细节和用途。以下是达梦数据库中线程和进程的一些关键点: 进程(Process): 在达梦数据库中&#x…

django的增删改查,排序,分组等常用的ORM操作

Django 的 ORM(对象关系映射)提供了一种方便的方式来与数据库进行交互。 1. Django模型 在 myapp/models.py 中定义一个示例模型:python from django.db import modelsclass Person(models.Model):name models.CharField(max_length100)age…

mysql数据库被偷家,数据全部丢失。还勒索我给他比特币

歹徒留下的勒索信息。 解决办法: 1、设置ip白名单, 2、端口不要使用默认端口,随便换个端口就行。 3、密码设置复杂一点。

【Java16】多态

向上类型转换 对于引用变量,在程序中有两种形态:一种是编译时类型,这种引用变量的类型在声明它的时候就决定了;另一种则是运行时类型,这种变量的类型由实际赋给它的对象决定。 当一个引用变量的编译时类型和运行时类…

【Pytorch】Conda环境pack打包迁移报错处理

文章目录 Anaconda虚拟环境打包一、源电脑的环境打包1.安装conda-pack工具2.确定环境3.打包环境4.将打包环境拷贝到U盘 二、环境迁移到目标电脑上三、异常处理pip install -e. 导致无法pack→忽略管理的文件已经被删除或者被覆盖→压缩成tar注意 重新激活环境 Anaconda虚拟环境…

14 - matlab m_map地学绘图工具基础函数 - 一些数据转换函数(一)

14 - matlab m_map地学绘图工具基础函数 - 一些数据转换函数(一) 0. 引言1. 关于m_ll2xy和m_xy2ll2. 关于m_lldist3. 关于m_xydist4 关于m_fdist5 关于m_idist6. 总结 0. 引言 通过前面篇节已经将m_map绘图工具中大多绘图有关的函数进行过介绍&#xff0…