python学习购物车小程序

购物车
功能要求:

要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车





 1 goods = [
 2     {"name": "电脑", "price": 1999},
 3     {"name": "鼠标", "price": 10},
 4     {"name": "游艇", "price": 20},
 5     {"name": "娃娃", "price": 3998},
 6     {"name": "气筒", "price": 99},
 7 ]
 8 kong=[]
 9 while True:
10     qian = input('请输入您要充值的Q币: ').strip()
11     if qian.isdigit():
12         qian = int(qian)
13     else:
14         print('\033[41m不要瞎输入,难道你一毛钱都没有???\033[1m')
15         continue
16     while True:
17         for k,v in enumerate(goods) :
18             print(k,'商品: {name}  价格: {price} Q币'.format(price=v['price'],name=v['name']))
19         sp=input('请输入购买的商品编号[输入qq充值][输入r删除购物车商品][输入q退出]: ').strip()
20         print('\033[41m您还有:%s(Q币)\033[1m ' % qian)
21         if sp =='q'and len(sp)!=0:
22             exit()
23         elif sp == 'r':
24             while True:
25                 if kong==[]:
26                      print('======================》没有商品可删了《=====================')
27                      break
28                 print('您以购买的商品: ')
29                 for k, v in enumerate(kong):     #for循环显示已购买的商品
30                     print(k,'商品: {name}  价格: {price} Q币'.format(price=v[1],name=v[0]))
31                 sc = input('请输入删除的商品编号[输入q退出]: ').strip()
32                 print('\033[41m您还有:%s(Q币)\033[1m ' % qian)
33                 if sc == 'q' :
34                     break
35                 if sc.isdigit():
36                     if int(sc) < len(kong) and int(sc)>=0 :   #判断输入的数字不能大于列表的下标数字和小于0
37                              qian+=int(kong[int(sc)][1])       #计算删除商品后剩余的钱
38                              kong.remove(kong[int(sc)])        #删除购物车商品
39                     else:
40                         print('!!!!!!!!!!!!!!!!无效的输入!!!!!!!!!!!!!!!!!!!')
41                 else:
42                     print('\033[42m请输入要删除的商品编号哦~\033[0m')
43         elif sp == 'qq':
44             while True:
45                 x = input('请输入充值金额: ').strip()
46                 if len(kong)<0:
47                     continue
48                 elif x.isdigit():
49                     qian +=int(x)
50                     print('\033[41m您还有:%s(Q币)\033[1m ' % qian)
51                     break
52                 else:
53                     print('还想不想充Q币了!!!还想不想充Q币了!!!还想不想充Q币了!!!')
54         elif sp.isdigit():
55             if int(sp) <len(goods) and int(sp) >=0 :
56                 jiaqian = goods[int(sp)]['price']
57                 mingzi = goods[int(sp)]['name']
58                 if  jiaqian <= qian :
59                     qian-=jiaqian
60                     kong.append((mingzi,jiaqian))
61                     print('\033[42m您以购买的商品:=========》%s《========\033[0m' % kong)
62                 else :
63                     print('\033[41m《《《《《Q币不够了~还剩%s(Q币)快快输入qq充值去!》》》》》\033[2m'%qian)
64             else:
65                 print('>>>>>>>>>>>>>>>>>不要瞎搞!!!按提示操作!!!不要瞎搞!!!<<<<<<<<<<<<<<<<<<<<<')
66 
67         else:
68                 print('>>>>>>>>>>>>>>>>>不要瞎搞!!!按提示操作!!!不要瞎搞!!!<<<<<<<<<<<<<<<<<<<<<')
购物车
原文地址:https://www.cnblogs.com/ikere/p/7154530.html