首页 > 其他 > 详细

模拟商城购物车

时间:2017-03-03 23:56:34      阅读:316      评论:0      收藏:0      [点我收藏+]
# 余额
Money = 10000

# 购物车列表
shopping_cart = []

# 商品列表,可以用list代替,用dict是为了练习
commodity = {
    男装: 318,
    女装: 218,
    内衣: 118,
    : 98,
    箱包: 546,
    配件: 342,
    童装玩具: 32,
    孕产: 998,
    数码: 4999,
}


# 显示商品列表
def print_commodity():
    p_count = 0
    print(商品列表)
    for i in commodity:
        p_count += 1
        print(   %d:%s  价格:%d % (p_count, i, commodity[i]))


# 显示购物车列表
def print_shopping_cart():
    p_count = 0
    print(购物车 总价:%d  余额:%d % (sel_price(), Money))
    for i in shopping_cart:
        p_count += 1
        print(   %d:%s  价格:%d % (p_count, i[0], i[1]))


# 删除购物车商品
def del_shopping_cart():
    while True:
        print_shopping_cart()
        select = input(输入要删除的商品序号(b=返回上一级,q=退出):)
        if select == b:
            break
        elif select == q:  # 退出
            print(退出购物)
        elif select.isdigit() and int(select) > 0 and int(select) <= len(shopping_cart):
            shopping_cart.pop(int(select) - 1)
        else:
            print(输入错误,不存在 %s 商品 % select)


# 计算总价
def sel_price():
    price = 0
    for i in shopping_cart:
        price += i[1]
    return price


print_commodity()

while True:
    select = input(
        "选择1~9加入购物车(b=结算,q=退出,s=购物车列表,v=商品列表,d=删除购物车商品 余额:%d):" % Money)
    if select == v:  # 显示商品列表
        print_commodity()
    elif select == s:  # 显示购物车列表
        print_shopping_cart()
    elif select == q:  # 退出
        print(\n * 5, 退出购物.center(50, -))
        break
    elif select == d:  # 删除购物车商品
        del_shopping_cart()
    elif select == b:  # 结算
        if len(shopping_cart) > 0:  # 判断购物车有无商品
            price = sel_price()
            if (Money - price) > 0:  # 判断余额是否充足
                Money -= price
                print(共购买 %d 件商品,总价:%d ,剩余金额 %d %
                      (len(shopping_cart), price, Money))
                shopping_cart.clear()  # 清空购物车
            else:
                print(余额不足,无法完成当前购买 剩余余额:%d 商品总价:%d % (Money, price))
                print(1:删除购物车所有商品\n2:删除一些商品)
                while True:
                    select = input(输入选择(b=返回上一级,q=退出):)
                    if select == b:  # f
                        break
                    elif select == q:  # 退出
                        print(退出购物)
                    elif select == 1:  # 删除所有
                        shopping_cart.clear()
                        break
                    elif select == 2:  # 删除指定商品
                        del_shopping_cart()
                        break
                    else:
                        print(输入错误,不存在 %s 指令 % select)
        else:
            print(未选择商品,请购买商品后结算)
    elif select.isdigit() and int(select) > 0 and int(select) <= len(commodity):
        # 获取键(购物列表用list的话,可以commodity[int(select)-1][0]或[1]取出商品名称和价格
        itemkey = list(commodity.keys())[int(select) - 1]
        # 加入购物车
        shopping_cart.append([itemkey, commodity[itemkey]])
        print("%s 加入购物车 已加入%d件商品" % (itemkey, len(shopping_cart)))
    else:
        print(输入错误,不存在 %s 指令 % select)


exit()

 

模拟商城购物车

原文:http://www.cnblogs.com/xh4528/p/6498596.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!