#实现一个购物车的功能
'''
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学习交流、资源共享群:563626388 QQ