python——实现一个购物车的功能

#实现一个购物车的功能
'''
1.可以向购物车中添加商品,可以设定数量
2.可以删除购物车中的商品,包括减少数量
3.允许清空购物车
4.每次操作完,重新统计商品总金额(订单总额 = 商品单价 × 数量)
'''
'''
{
    '商品编码':{'name':'商品名称1','gid':'666','price':120,'num':6}
    。。。。
}
'''
'''
商品: 编号      名称         价格    
     1234    商品名称1       456
     4573    商品名称2       579
     6462    商品名称3     999
     5257    商品名称4     1288
     4351    商品名称5     35
     4732    商品名称6     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 = '商品名称3',price = 999 ,num = 2)
goods_add(gid = 4351,name = '商品名称5',price = 35 ,num = 20)
goods_add(gid = 4732,name = '商品名称6',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)

'''



  • 1
    点赞
  • 0
    评论
  • 5
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

Psycho_Pt2

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值