方案一:
1 goods = [
2 {"name": "电脑", "price": 1999},
3 {"name": "鼠标", "price": 10},
4 {"name": "游艇", "price": 20},
5 {"name": "美女", "price": 998}
6 ]
7 def chongzhi():
8 global zongzichan
9 e = int(input("请输入充值金额:"))
10 zongzichan = zongzichan + e
11 print("充值成功,返回购物车.")
12 gouwuche()
13
14 def gouwuche():
15 global zongzichan
16 xiaofei = 0
17 print("您选购的商品如下:")
18 for c, c1 in enumerate(list, 1):
19 for c2, c3 in c1.items():
20 xiaofei = xiaofei + c3
21 print(c, c2, c3)
22 print("总价格:", xiaofei)
23 while True:
24 d = input("请选择结算(yes) or 前往充值(no):")
25 if d == "yes" and zongzichan >= 0:
26 print("购买成功,您一共消费了:", xiaofei, "总资产剩余:", zongzichan)
27 print("欢迎下次光临,再见.")
28 break
29 elif d == "yes" and zongzichan < 0:
30 d1 = input("购买失败,余额不足,请选择前往充值(yes) or 前往购物车移除商品(no):")
31 if d1 == "yes":
32 chongzhi()
33 elif d1 == "no":
34 d2 = int(input("请输入商品编号移除出购物车:"))
35 d3 = list[d2-1]
36 for d4, d5 in d3.items():
37 zongzichan = zongzichan + d5
38 del list[d2-1]
39 print("您移除了:", d4, d5)
40 gouwuche()
41 else:
42 print("指令错误")
43 elif d == "no":
44 chongzhi()
45 else:
46 print("指令错误")
47
48 exit()
49
50 def shangpin():
51 global list
52 global zongzichan
53 list = []
54 while True:
55 print("商品编号、名称、价格列表:")
56 for keys, a in enumerate(goods, 1):
57 a1 = a.get("name")
58 a2 = a.get("price")
59 print(keys, a1, a2)
60 dict = {}
61 a3 = int(input("请输入商品编号将其加入购物车:"))
62 zongzichan = zongzichan - goods[a3-1]["price"]
63 a4 = goods[a3-1]["name"]
64 a5 = goods[a3-1]["price"]
65 print("商品:",goods[a3-1]["name"], "价格:",goods[a3-1]["price"], "已加入购物车.")
66 dict[a4] = a5
67 list.append(dict)
68 b = input("请选择继续购物(yes) or 去购物车结算(no):")
69 if b == "yes":
70 continue
71 elif b == "no":
72 gouwuche()
73 else:
74 print("指令错误")
75
76 def zichan():
77 global zongzichan
78 zongzichan = int(input("请输入总资产:"))
79 shangpin()
80
81 zichan()
方案二(无充值):
1 goods = [
2 {"name": "电脑", "price": 1999},
3 {"name": "鼠标", "price": 10},
4 {"name": "游艇", "price": 20},
5 {"name": "美女", "price": 998}
6 ]
7
8 zongzichan = int(input("请输入总资产:"))
9 xiaofei = 0
10 gouwuche = {}
11 for a in goods:
12 print(a["name"], a["price"])
13
14 while True:
15 shangpin = input("请输入商品名称加入购物车 or 输入Y/y去购物车结算:")
16 if shangpin.lower() == "y":
17 break
18 for a1 in goods:
19 if a1["name"] == shangpin:
20 if a1["name"] in gouwuche.keys():
21 gouwuche[a1["name"]]["num"] = gouwuche[a1["name"]]["num"] + 1
22 else:
23 gouwuche[a1["name"]] = {"num":1, "jiage":a1["price"]}
24
25 for b , b1 in gouwuche.items():
26 b2 = b1["jiage"]
27 b3 = b1["num"]
28 b4 = b2 * b3
29 xiaofei = xiaofei + b4
30 if xiaofei > zongzichan:
31 print("购买失败,余额不足")
32 else:
33 print("购买成功")

浙公网安备 33010602011771号