当前位置: 首页 > news >正文

字典-dict-案例

案例
开发一个购物车管理系统,实现商品信息的添加、修改、删除、查询功能。系统使用字典结构存储商品数据,通过控制台菜单与用户交互。
具体功能如下:

1.添加购物车:用户根据提示录入商品名称、以及该商品的价格、数量,保存该商品信息到购物车。
2.修改购物车:要求用户输入要修改的购物车商品名称,然后再提示输入该商品的价格、数量,输入完成后修改该商品信息。
3.删除购物车:要求用户输入要删除的购物车名称,根据名称删除购物车中的商品。
4.查询购物车:将购物车中的商品信息展示出来,格式为:"商品名称:xxx,商品价格:xxx,商品数量:xxx"。
5.退出购物车
结构:shopping_cart = {"Mate60":{"price":6999,"name":2},"鼠标":{...}

shopping_cart = {}
menu = """
############ 购物车系统 ###########
#           1.添加购物车          #
#           2.修改购物车          #
#           3.删除购物车          #
#           4.查询购物车          #
#           5.退出购物车          #
#################################
"""
print("欢迎使用购物车管理系统")
# 1.制作菜单
while True:print(menu)# 2.执行的具体操作choice = input("请选择要执行的操作(1-5):")match choice:case "1":  # 添加购物车goods_name = input("请输入商品名称:")goods_price = float(input("请输入商品价格:"))goods_num = int(input("请输入商品数量:"))# 如果商品存在,则不执行添加,提示信息if goods_name not in shopping_cart:shopping_cart[goods_name] = {"price": goods_price, "num": goods_num}print("商品添加完毕 ~")else:print("该商品已存在,请重新选择要执行的操作")case "2":  # 修改购物车goods_name = input("请输入要修改的商品名称:")# 如果商品存在,则进行修改;反之提示错误信息,重新选择if goods_name in shopping_cart:goods_price = float(input("请输入商品最新的价格:"))goods_num = int(input("请输入商品最新的数量:"))shopping_cart[goods_name] = {"price": goods_price, "num": goods_num}print("商品修改完毕 ~")else:print("该商品不存在购物车中,请重新选择要执行的操作")case "3":  # 删除购物车goods_name = input("请输入要删除的商品的名称:")# 如果商品存在,则执行操作;反之,提示错误信息,重新选择if goods_name in shopping_cart:shopping_cart.pop(goods_name)else:print("该商品不存在购物车中,请重新选择要执行的操作")case "4":  # 查询购物车for goods_name in shopping_cart.keys():goods_info = shopping_cart[goods_name]print(f"商品名称:{goods_name},商品价格:{goods_info["price"]},商品数量:{goods_info["num"]}")case "5":  # 退出购物车print("Bye ~")breakcase _:  # 匹配其他所有情况print("非法操作,不支持!!!")
http://www.jsqmd.com/news/1348855/

相关文章:

  • 188、YOLOv8改进实战:遥感图像旋转框检测——解耦旋转检测头与角度回归损失设计
  • 5分钟掌握智能资源下载器:一键捕获视频号、抖音、小红书等平台内容
  • 从源码到发布:Catppuccin for Zed主题开发全流程解析
  • 怎么把图片变小?电脑手机都能用的图片压缩工具盘点与对比 - AI测评专家
  • 深入理解Sceneform Maintained架构:从源码角度看AR渲染流程
  • ARP报文格式
  • 《天道》笔记07 | 叶晓明、冯世杰、刘冰,三个人三种走法
  • soci-snapshotter vs 传统镜像加载:3大核心优势对比
  • 2026桃酥用料正宗品牌全盘点:行业选型标准拆解,靠谱品牌避坑指南及优质服务商解析 - 产业观察报
  • 进阶练习:基于分割与轮廓的物体测量系统
  • 2026桃酥代工样品可提供的正规厂家全面盘点、优质服务商详解及选型避坑FAQ指南 - 行业观察网
  • Prime Agent架构深度剖析:理解RLM运行时与IPython内核的协同机制
  • 187、YOLOv8改进实战:交通标志与行人检测——基于RepVGG骨干与ASFF多尺度融合的轻量方案
  • MIT许可下的AI创新:Maple-Preview开源生态与商业应用可能性分析
  • 2026图片与PDF互转工具盘点:这7款pdf转图片在线转换免费方案,总有一款正好匹配你的流程
  • 2026年莱山区办公隔断服务公司实力之选:本地化供应链与一站式交付能力解析 - 优企名品
  • KITTI数据集深度估计新标杆:Lite-Mono 8.7M模型性能全面测评
  • SilentPatch:GTA三部曲终极兼容性修复方案 - 让经典游戏在现代PC上完美运行
  • 手机免费拍电子证件照,从白墙到出片全流程实录 - 软件小管家
  • 抖店无货源一件代发新手教程:如何选择下单工具,如何对接供应商并做好订单管理 - 电商分享
  • 2026年 TUP解决方案服务商最新**单:TUP平台、TUP系统、TUP软件及TUP技术应用全面解析与优质品牌精选 - 卓企推荐
  • 云原生安全:K8s/容器攻防最全落地指南,90%新人完全空白的高薪领域
  • 如何用OpenVSP快速创建你的第一架飞机模型:新手教程
  • Windows Auto Dark Mode完整配置教程:5个简单步骤实现智能主题切换
  • 快速读懂MCP与A2A架构,抢占企业数字化新风口
  • Codex 长任务为什么容易中断?任务拆分、上下文管理与状态记录方法
  • 揭秘 JuiceSSH Performance Monitor 工作原理:如何通过后台会话获取服务器 metrics
  • 从理论到实践:AliceUI样式模块化的设计哲学
  • 2026 年更新:阿合奇值得关注的MMA彩色防滑优质厂家哪家可靠,滑出半米没摔,我终于找到阳台地面的「救命神材」,比普通防滑垫好用10倍-光大生态工程技术 - 行业严选官
  • 2026广州居民搬家全攻略:核心步骤拆解、实用打包技巧与本地避坑指南(干货总结) - 禧燕搬家