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

#实现一个购物车的功能
'''
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



  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值