完成一个商城购物车的程序。
要求:
1,用户先给自己的账户充钱:比如先充3000元。
2,有如下的一个格式:
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},]
3,页面显示 序号 + 商品名称 + 商品价格,如:
1 电脑 1999
2 鼠标 10
…
4,用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,添加到购物车(自己定义购物车),用户还可继续添加商品。
5,如果用户输入的商品序号有误,则提示输入有误,并重新输入。
6,用户输入N为购物车结算,依次显示用户购物车里面的商品,数量及单价,若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。
7,用户输入Q或者q退出程序。
8,退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少,并将购买信息显示。
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},]
d = {"电脑":1999,"鼠标": 10,"游艇": 20,"美女" : 998}
w = 0
sum = 0
if w == 0:while True:w = w + int(input('请充值!输入你的充值金额(至少300rmb):'))print(f'你现在的余额有{w}元')if w >= 300:break
dic = {}
while True:for i in range(len(goods)):k, v = goods[i]print(i + 1, goods[i][k], goods[i][v])p = input('请输入你想购买的商品序号,按N进行结算,按q或者Q退出购买,:')if p.upper() == 'Q':breakelif p == 'N':for i in dic:print(i,dic[i],d[i])sum += d[i] * dic[i]while w < sum:print("""商品总价超出账户余额,请删除一些商品""")name = input('请输入删除商品的名称:')n = input('请输入删除商品的个数:')sum -= d[name] * int(n)dic[name] = dic[name] - int(n)else:print('正在购买中...')for i in dic:print(f'用户购买的商品{i},数量{dic[i]},单价{d[i]}')print(f'此次共消费{sum},账户余额{w - sum}')breakelif int(p) == 1:print('电脑',1999)key1 = '电脑'dic[key1] = dic.get(key1,0) + 1elif int(p) == 2:print('鼠标',10)key2 = '鼠标'dic[key2] = dic.get(key2, 0) + 1elif int(p) == 3:print('游艇',20)key3 = '游艇'dic[key3] = dic.get(key3, 0) + 1elif int(p) == 4:print('美女',998)key4 = '美女'dic[key4] = dic.get(key4, 0) + 1else:print('输入有误,请重新输入')