Python实现一个简单的购物车逻辑

本文介绍了一个简单的购物车功能实现方案,包括添加商品、修改数量、删除商品和清空购物车等核心功能,并提供了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. #实现一个购物车的功能  
  2. ''''' 
  3. 1.可以向购物车中添加商品,可以设定数量 
  4. 2.可以删除购物车中的商品,包括减少数量 
  5. 3.允许清空购物车 
  6. 4.每次操作玩,重新统计商品总金额(订单总额 = 商品单价 × 数量) 
  7. ''''' 
  8. { 
  9.     '商品编码':{'name':'硅胶冰冰','gid':'666','price':120,'num':6} 
  10. } 
  11.  
  12. 商品: 编号      名称         价格      
  13.      1234    冰冰逼真版       456 
  14.      4573    志玲标配版       579 
  15.      6462    志玲高配版本     999 
  16.      5257    志玲旗舰版本     1288 
  17.      4351    松松玻璃版本     35 
  18.      4732    松松塑料版本     12 
  19. ''' 
  20. #设定购物车(开始值为空)  
  21. shoppingcart = {}  
  22.   
  23. #计算总价的函数  
  24. def totalprice():  
  25.     #全局化  
  26.     global  shoppingcart  
  27.     #累计和的变量  
  28.     sumprice = 0  
  29.     #遍历购物车中的所有数据 ,进行累加  
  30.     for k,v in shoppingcart.items():  
  31.         sumprice += v['price'] * v['num']  
  32.   
  33.     #返回总价  
  34.     return sumprice  
  35.   
  36. #添加商品函数  
  37. def goods_add(gid,name,price,num ):  
  38.     #全局化购物车  
  39.     global shoppingcart  
  40.     #判断购物车中是否存在当前购买的商品  
  41.     if  gid not in shoppingcart:  
  42.         #如果没有购买过该商品  
  43.         #将商品信息加入购物车(购买新商品)  
  44.         shoppingcart[gid] = {'gid':gid,'name':name,'price':price,'num':num}  
  45.     else:  
  46.         #如果购买过商品,直接更新数量  
  47.         shoppingcart[gid]['num'] += num  
  48.   
  49.     #调用总价函数  
  50.     print(totalprice())  
  51.   
  52. #调用函数购买商品  
  53. goods_add(gid = 6462,name = '志玲高配版本',price = 999 ,num = 5)  
  54. goods_add(gid = 4732,name = '松松塑料版本',price = 12 ,num = 3)  
  55.   
  56. #打印购物车中的信息  
  57. print(shoppingcart)  
  58.   
  59. goods_add(gid = 6462,name = '志玲高配版本',price = 999 ,num = 2) 
  60. goods_add(gid = 4351,name = '松松玻璃版本',price = 35 ,num = 20) 
  61. goods_add(gid = 4732,name = '松松塑料版本',price = 12 ,num = 5) 
  62.  
  63. #打印购物车中的信息 
  64. print(shoppingcart) 
  65. #删除购无车中的商品 
  66. def goods_del(gid,num): 
  67.     #全局化 
  68.     global shoppingcart 
  69.     #判断商品是否存在与购物车中 
  70.     if gid not in shoppingcart: 
  71.         return False 
  72.     #判断删除商品数量是否超过总数 
  73.     if shoppingcart[gid]['num'] > num: 
  74.         #删除操作 
  75.         shoppingcart[gid]['num'] -= num 
  76.     else: 
  77.         #商品数量不足,直接删除购车中的该商品信息 
  78.         shoppingcart.pop(gid) 
  79. #调用删除商品 
  80. goods_del(gid = 4732,num = 8000) 
  81.  
  82. #打印购物车中的信息 
  83. print(shoppingcart) 
  84.  
  85. #清空购物车 
  86. def goods_clear(): 
  87.     #全局化 
  88.     global  shoppingcart 
  89.  
  90.     #清空购物车的字典 
  91.     shoppingcart.clear() 
  92.  
  93. #清空操作 
  94. goods_clear() 
  95.  
  96. #打印购物车中的信息 
  97. print(shoppingcart) 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且行且安~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值