python(3)——实现购物车的程序

来源:互联网 发布:淘宝转换微信链接 编辑:程序博客网 时间:2024/05/29 04:34
#实现一个购物车的功能
'''
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


原创粉丝点击