1 #商品列表 2 commodity=[ 3 {'name':'小米plus', 'price':2899}, 4 {'name':'魅族6', 'price':999}, 5 {'name':'TCL电视', 'price':8999}, 6 {'name':'天猫盒子', 'price':1289}, 7 {'name':'Tp_link路由器', 'price':699}, 8 {'name':'BMW超跑', 'price':512899}, 9 {'name':'中央空调', 'price':5999}, 10 ] 11 cart={} 12 flg=True 13 print('欢迎光临超讯科技家电中心>>>>>>') 14 money=input('请出示你的银行卡金额:').strip() 15 if money.isdigit() and int(money)>0: #金额大于0才能看到菜单 16 while flg: 17 for i,j in enumerate(commodity): #枚举获得列表菜单 18 print('{}-{}:¥{}RMB'.format(i,j['name'],j['price'])) 19 goods = input('请输入你想购买的商品编号或者按‘Q’退出') 20 if goods.isdigit() and int(goods) in range(0,len(commodity)): #选择的商品编号必须与列表编号一致 21 num = input('请输入你想购买的商品数量') 22 if num.isdigit(): 23 if int(money)>commodity[int(goods)]['price']*int(num): #余额必须大于想购买商品的总价格才能购买 24 money=int(money)-commodity[int(goods)]['price']*int(num) 25 print('您已经将%s号商品%s加入到购物车,商品共%s件' % (goods, commodity[int(goods)]['name'], int(num))) 26 print('结算需要【%s】RMB,余额为>>>%s'%(commodity[int(goods)]['price']*int(num),money)) 27 else: 28 print('余额不够为%sRMB,少买点吧,屌丝'%money) #余额不足,不能购买 29 change=input('是否需要充值后购买(Y/N)?') 30 if change.isalpha() and change.upper()=='Y': #判断是否需要充值 31 add_money=input('请输入要充值金额') 32 if add_money.isdigit(): 33 money=int(money)+int(add_money) #完成充值则重新赋值给money 34 else: 35 print('就你皮,爱搞事情!') 36 else: 37 print('我靠,钱都不冲,你买个锤子!') 38 break 39 if commodity[int(goods)]['name'] in cart: #判断选择的商品是否在购物车列表 40 cart[commodity[int(goods)]['name']]=cart[commodity[int(goods)]['name']]+int(num) #在则更新商品数量 41 else: 42 cart[commodity[int(goods)]['name']]=int(num) #不在则加入购物车列表 43 44 else: 45 if goods.upper()!='Q': 46 print('你不会看提示么,瞎几把输入') 47 else: 48 break #按Q退出 49 else: 50 print('余额不足,充钱去吧,小伙砸')