# 1. 用户先给自己的账户充钱:比如先充3000元。
# 2. 页面显示 序号 + 商品名称 + 商品价格,如:
# 1 电脑 1999
# 2 鼠标 10
# …
# n 购物车结算
# 3. 用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,添加到购物车,用户还可继续添加商品。
# 4. 如果用户输入的商品序号有误,则提示输入有误,并重新输入。
# 5. 用户输入n为购物车结算,依次显示用户购物车里面的商品,数量及单价,若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。
# 6. 用户输入Q或者q退出程序。
# 7. 退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少。
shangpin = {'1': {'商品名': '电脑', '价格': 1999},
'2': {'商品名': '鼠标', '价格': 100},
'3': {'商品名': '音响', '价格': 200}}
# print(shangpin)
flag = True
while flag:
num = input("输入你充值的金额:").strip()
if num.isdigit():
break
else:
print("要整数人民币")
continue
bus = {}
quan = False
a = 0
while True:
for i in shangpin:
print(i, shangpin[i]['商品名'], shangpin[i]['价格'])
mai = input('请输入你添加购物车的商品序列号\n进入结算请输入n\q退出购物车:')
if mai == '1':
a += 1
bus.setdefault(a, shangpin['1'])
# print(bus)
elif mai == '2':
a += 1
bus.setdefault(a, shangpin['2'])
elif mai == '3':
a += 1
bus.setdefault(a, shangpin['3'])
elif mai == 'n':
print("购物车的商品为\n", bus)
ok = input("确认结算吗?yes/no")
if ok == 'yes':
# yu = sum(bus[1::2])
suan = []
my = 1
for d in bus:
for i in bus[my]:
# print(bus[my][i])
suan.append(bus[my][i])
my += 1
# print(suan)
yu = sum(suan[1::2])
if int(num) > yu:
print("你的余额为", int(num) - yu, "\n购买的商品为", suan, "\n已成功过购买等待收货")
flag = False
break
else:
while True:
print("你的余额不足,请去掉一点你喜欢的宝贝。\n", "购物车里有\n", bus)
lie = int(input("请输入去掉商品的序列号:"))
del bus[lie]
# print(bus)
l1 = []
for i in bus:
l1.append(i)
# print(l1)
l2 = []
for i in l1:
l2.append(bus[i]['价格'])
l3 = sum(l2)
if int(num) > l3:
print('恭喜你金额足够,自动为你下单成功,等代收货吧\n你的余额为',int(num)-l3,'\n商品为:', bus)
# flag = False
break
else:
print("请再去掉一些宝贝")
continue
break
flag = False
elif mai == 'q':
print("穷鬼再见!")
break
else:
print("请正确输入序列号")
continue