# 余额 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