今⽇代码分享-开课吧⻝堂开业啦~#定义一个菜单列表,其中的元素为字典1menu_list=[2{"id":1,"name":"1.糖醋里脊","price":24,"$":"元"},3{"id":2,"name":"2.糖醋鱼","price":28,"$":"元"},4{"id":3,"name":"3.大盘鸡","price":65,"$":"元"},5{"id":4,"name":"4.水煮肉片","price":26,"$":"元"},6{"id":5,"name":"5.梅菜扣肉","price":21,"$":"元"}7]8#定义一个空列表存放点餐结果9Order_list=[]10print('==========================欢迎光临开课吧食堂,祝您用餐愉快====================================')11print('今日菜单:')12#遍历菜单打印出来,方便用户观看13formenuinmenu_list:14#字典的get()函数返回指定键的值(与中括号作用一样)15print(menu.get('name'),menu.get('price'),menu.get('$'))1617#定义一个循环让用户进行操作18whileTrue:19print('='*50)20print("1.用户点餐\n2.取消点餐\n3.确认菜单\n4.结账")21#让用户输入,在下面根据输入内容判断进行什么操作22server=int(input("请选择服务:"))23#输入为1进入点菜24ifserver==1:25#定义一个循环,可以多次点菜26whileTrue:27#定义菜名编号或输入y退出28menu_add=input("请输入菜名编号或输入Y结束点菜:")29#如果不是Y就开始点菜30ifmenu_add.upper()!='Y':#upper()方法将字符串中的小写字母转为大写字母31forminmenu_list:32ifm.get('id')==int(menu_add):33Order_list.append(m)34break35#输入Y就结束点菜并打印已点菜单36else:37print('==================已点菜=====================')38total_price=039#遍历点菜菜单40fororderinOrder_list:41print(order.get('name'),order.get('price'),order.get('$'))#计算总价42total_price+=int(order.get('price'))43#打印总价44print('小计:{}元'.format(total_price))45break46#如果用户输入2,取消点菜47elifserver==2:48#输入要取消的菜名49menu_del=input("请输入要取消的菜名:")50#在点餐列表中查找要取消的菜名51fororderinOrder_list:52iforder.get('id')==int(menu_del):53Order_list.remove(order)54#取消点菜后打印剩余的已点菜55print('==================已点菜=====================')56total_price=057fororderinOrder_list:58print(order.get('name'),order.get('price'),order.get('$'))59total_price+=int(order.get('price'))60print('小计:{}元'.format(total_price))61#输入3表示确认已点菜单62elifserver==3:63...