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("非法操作,不支持!!!")

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

相关推荐
小小张说故事2 小时前
Python 迭代器和生成器到底啥区别?3 个例子讲透,别再背概念了
python
外收内放2 小时前
Python基础语法练习题(56优化版补充)
开发语言·python
专注API从业者3 小时前
告别复杂页面解析,OpenClaw 快速搭建电商商品监控与数据分析脚本
大数据·数据库·python·数据挖掘·数据分析
王立志_LEO3 小时前
HTTPX 完整用法总结
python
ggb喔3 小时前
52pojie 的图片工具:为什么无损转换后体积涨了 6 倍、照片方向还是歪的
图像处理·python·算法·计算机视觉·图形渲染·媒体
hnxaoli3 小时前
win10小程序(二十三)新建带时间文件夹
python
企业数字化笔记3 小时前
AI工具参数很多怎么办?预设、表单校验、危险参数与配置审计
java·spring boot·python·音视频
2601_962885724 小时前
如何用 Python 计算 BBI 多空指标?
开发语言·python
必须得开心呀4 小时前
为什么 python-docx 打不开加密的 .docx,Word COM 却能打开
python·word