- #实现一个购物车的功能
- '''''
- 1.可以向购物车中添加商品,可以设定数量
- 2.可以删除购物车中的商品,包括减少数量
- 3.允许清空购物车
- 4.每次操作玩,重新统计商品总金额(订单总额 = 商品单价 × 数量)
- '''''
- {
- '商品编码':{'name':'硅胶冰冰','gid':'666','price':120,'num':6}
- }
- 商品: 编号 名称 价格
- 1234 冰冰逼真版 456
- 4573 志玲标配版 579
- 6462 志玲高配版本 999
- 5257 志玲旗舰版本 1288
- 4351 松松玻璃版本 35
- 4732 松松塑料版本 12
- '''
- #设定购物车(开始值为空)
- shoppingcart = {}
- #计算总价的函数
- def totalprice():
- #全局化
- global shoppingcart
- #累计和的变量
- sumprice = 0
- #遍历购物车中的所有数据 ,进行累加
- for k,v in shoppingcart.items():
- sumprice += v['price'] * v['num']
- #返回总价
- return sumprice
- #添加商品函数
- def goods_add(gid,name,price,num ):
- #全局化购物车
- global shoppingcart
- #判断购物车中是否存在当前购买的商品
- if gid not in shoppingcart:
- #如果没有购买过该商品
- #将商品信息加入购物车(购买新商品)
- shoppingcart[gid] = {'gid':gid,'name':name,'price':price,'num':num}
- else:
- #如果购买过商品,直接更新数量
- shoppingcart[gid]['num'] += num
- #调用总价函数
- print(totalprice())
- #调用函数购买商品
- goods_add(gid = 6462,name = '志玲高配版本',price = 999 ,num = 5)
- goods_add(gid = 4732,name = '松松塑料版本',price = 12 ,num = 3)
- #打印购物车中的信息
- print(shoppingcart)
- goods_add(gid = 6462,name = '志玲高配版本',price = 999 ,num = 2)
- goods_add(gid = 4351,name = '松松玻璃版本',price = 35 ,num = 20)
- goods_add(gid = 4732,name = '松松塑料版本',price = 12 ,num = 5)
- #打印购物车中的信息
- print(shoppingcart)
- #删除购无车中的商品
- def goods_del(gid,num):
- #全局化
- global shoppingcart
- #判断商品是否存在与购物车中
- if gid not in shoppingcart:
- return False
- #判断删除商品数量是否超过总数
- if shoppingcart[gid]['num'] > num:
- #删除操作
- shoppingcart[gid]['num'] -= num
- else:
- #商品数量不足,直接删除购车中的该商品信息
- shoppingcart.pop(gid)
- #调用删除商品
- goods_del(gid = 4732,num = 8000)
- #打印购物车中的信息
- print(shoppingcart)
- #清空购物车
- def goods_clear():
- #全局化
- global shoppingcart
- #清空购物车的字典
- shoppingcart.clear()
- #清空操作
- goods_clear()
- #打印购物车中的信息
- print(shoppingcart)
Python实现一个简单的购物车逻辑
于 2018-04-08 16:39:42 首次发布