Python54-55:核心语法-数据容器-字典dict-案例

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

  1. 添加购物车:用户根据提示录入商品名称、以及该商品的价格、数量,保存该商品信息到购物车。
  2. 修改购物车:要求用户输入要修改的购物车商品名称,然后再提示输入该商品的价格、数量,输入完成后修改该商品信息。
  3. 删除购物车:要求用户输入要删除的购物车名称,根据名称删除购物车中的商品。
  4. 查询购物车:将购物车中的商品信息展示出来,格式为:"商品名称:xxx,商品价格:xxx,商品数量:xxx"。
  5. 退出购物车
python 复制代码
'''
开发一个购物车管理系统,实现商品信息的添加、修改、删除、查询功能。系统使用字典结构存储商品数据,通过控制台菜单与用户交互。具体功能如下:
1. 添加购物车:用户根据提示录入商品名称、以及该商品的价格、数量,保存该商品信息到购物车。
2. 修改购物车:要求用户输入要修改的购物车商品名称,然后再提示输入该商品的价格、数量,输入完成后修改该商品信息。
3. 删除购物车:要求用户输入要删除的购物车名称,根据名称删除购物车中的商品。
4. 查询购物车:将购物车中的商品信息展示出来,格式为:"商品名称:xxx,商品价格:xxx,商品数量:xxx"。
5. 退出购物车

结构:shopping_cart = {"Meta80": {"price": 6999, "num": 2}, "鼠标": {...}}
'''
shopping_cart = {}
menu = """
######### 购物车系统  #########
#               1. 添加购物车                    #
#               2. 修改购物车                    #
#               3. 删除购物车                    #
#               4. 查询购物车                    #
#               5. 退出购物车                    #
#############################
"""
# 列编辑模式: Alt+Shift同时按住,并将鼠标点到特定位置从上往下拉
print("欢迎使用购物车管理系统 ~")

while True:
    # 1. 制作菜单
    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 in shopping_cart:
                print("该商品已存在,请重新选择 ~")
            else:
                shopping_cart[goods_name] = {"price": goods_price, "num": goods_num}
                print("商品添加完毕 ~")

        case "2":  # 修改购物车
            goods_name = input("请输入要修改的商品名称:")
            # 如果商品不存在,则提示错误信息,重新选择
            if goods_name not in shopping_cart:
                print("该商品不存在,请重新选择 ~")
                continue

            goods_price = float(input("请输入商品最新的价格:"))
            goods_num = int(input("请输入商品最新的数量:"))
            shopping_cart[goods_name] = {"price": goods_price, "num": goods_num}
            print("商品修改完毕 ~")

        case "3":  # 删除购物车
            goods_name = input("请输入要删除的商品名称:")

            # 如果商品不存在,则提示错误信息,重新选择
            if goods_name not in shopping_cart:
                print("该商品不存在,请重新选择 ~")
            else:
                del shopping_cart[goods_name]
                print("商品删除完毕 ~")

        case "4":  # 查询购物车
            for goods_name in shopping_cart:
                goods_info = shopping_cart[goods_name]
                print(f"商品名称:{goods_name},商品价格:{goods_info['price']},商品数量:{goods_info['num']}")

        case "5":  # 退出购物车
            print("Bye ~")
            break
        case _:  # 匹配其它所有情况
            print("非法操作,不支持!!!")

**声明:**本篇学习笔记参考黑马程序员相关课程,部分素材来源于网络公开资料及本人补充;文中为个人整理复盘,仅供学习交流使用。

相关推荐
代码山河8 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
在世修行8 小时前
智学文枢:题目流水线
python·多线程·状态机·pyside
梯度下降者8 小时前
零基础入门Python 爬虫
爬虫·python·数据分析·入门指南·webcrawler
“AI国潮设计-小江”10 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
benchmark_cc11 小时前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读11 小时前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
外收内放12 小时前
Python基础语法练习题(73)
java·前端·python
锋行天下12 小时前
Langgraph HITL 中断运行,用户输入后输出打字效果
人工智能·python
时早玖沐12 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
触底反弹12 小时前
🚀 FastAPI 五大重难点深度剖析:从 500 报错到彻底搞懂 Depends、Pydantic 与 SQLAlchemy
python·fastapi