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