资讯动态

Python实战:购物车管理系统(附完整代码)

发布时间:2026/10/9 0:00:49 来源:尧图企业网站定制
作为一个 Python 刚学完字典的初学者我尝试写了一个购物车系统。过程中踩了几个坑分享出来给同样刚开始学 Python 的朋友目录一、我要实现什么功能二、我为什么这么写三、完整代码1、访问dict获取元素2、格式化字符串引号冲突3、实现功能时进行判断五、总结1、对学习帮助2、下次可以尝试加文件保存数据让购物车关掉后也不丢一、我要实现什么功能开发一个购物车管理系统使用字典存储商品数据通过控制台菜单交互。具体功能1. 添加购物车录入商品名称、价格、数量保存到购物车。2. 修改购物车输入要修改的商品名称然后更新该商品的价格和数量。3. 删除购物车输入要删除的商品名称从购物车中删除该商品。4. 查询购物车展示所有商品信息格式为商品名称: xxx, 商品价格: xxx, 商品数量: xxx。5. 退出购物车退出系统。二、我为什么这么写用字典存数据因为我想通过“商品名称”直接找到价格和数量字典最方便。用 while True 循环菜单希望用户操作完后还能继续选别的直到选“退出”才结束。用 match-case 判断选项比 if-else 看起来整齐。三、完整代码menu ############ 购物车系统 ############ # 1. 添加购物车 # # 2. 修改购物车 # # 3. 删除购物车 # # 4. 查询购物车 # # 5. 退出购物车 # ################################### shopping_cart {} while True: print(menu) choice input(请选择操作(1-5)) match choice: # 1. 添加购物车录入商品名称、价格、数量保存到购物车。 case 1: goods_name input(请输入商品名称) if goods_name in shopping_cart: print(商品已存在,请重新选择操作) continue else: goods_price float(input(请输入商品价格:)) goods_num int(input(请输入商品数量:)) shopping_cart[goods_name] {price:goods_price, num:goods_num} print(添加成功) case 2: # 2.修改购物车输入要修改的商品名称然后更新该商品的价格和数量。 goods_name input(请输入商品名称) if goods_name not in shopping_cart: print(商品不存在,请重新选择操作) continue else: goods_price float(input(请输入商品价格:)) goods_num int(input(请输入商品数量:)) shopping_cart[goods_name] {price: goods_price, num: goods_num} print(修改成功) case 3: #3.删除购物车输入要删除的商品名称从购物车中删除该商品。 goods_name input(输入要删除的商品名称) if goods_name in shopping_cart: del shopping_cart[goods_name] print(删除成功) else: print(商品不存在,请重新选择操作) case 4: # 4.查询购物车展示所有商品信息格式为商品名称: xxx, 商品价格: xxx, 商品数量: xxx。 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) break case _: print(操作不合法)注:shopping_cart的形式如{商品名称:{商品价格:价格,商品数量:数量}}四、我遇到的坑1、访问dict获取元素print(f商品名称:{goods_name},商品价格:{goods_info[price]},商品数量:{goods_info[num]})在以上关键代码中注意要对goods_info中获取价格与数量,不要对shopping_cart进行元素获取或者也可以简化为以下代码:for goods_name, goods_info in shooping_cart.items(): print(f商品名称:{goods_name},商品价格:{goods_info[price]},商品数量:{goods_info[num]})2、格式化字符串引号冲突print(f商品名称:{goods_name},商品价格:{goods_info[price]},商品数量:{goods_info[num]})以上关键代码中f中获取价格与数量时使用双引号3、实现功能时进行判断例如实现添加购物车功能时我刚开始没有对商品是否存在进行判断没有功能完成后输出“添加成功字样”五、总结1、对学习帮助系统性地提升我对dictwhile。for的理解dict的代码scores {数学:90, 语文:85} print(scores[数学]) # 输出90循环对比案例# while适合不确定次数的情况 while password ! 123456: password input(请输入密码) # for适合遍历已知集合 for subject in scores: print(subject)2、下次可以尝试加文件保存数据让购物车关掉后也不丢这是我第一次写博客代码可能不完美欢迎指正。如果对你有帮助点个赞吧

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑