标签:取出 alt 序号 交互 提示 实现 closed style pen
购物车 功能要求: 要求用户输入总资产,例如:2000 显示商品列表,让用户根据序号选择商品,加入购物车 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。 附加:可充值、某商品移除购物车 asset_all = 0 m1 = input(‘请输入金额:‘) mon_all = int(m1) goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, ] for i in goods: #循环所有商品名称 print(i[‘name‘]) car_dict = {} while True: m2 = input(‘请选择商品(Y/y结算):‘) if m2.lower() ==‘y‘: print(‘商品结算:‘) break for j in goods: if j[‘name‘] == m2: name = j[‘name‘] if name in car_dict.keys(): #商品存在,数量+1 car_dict[name][‘num‘] = car_dict[name][‘num‘]+1 else: #商品不存在,添加商品 car_dict[name] = {‘num‘: 1, ‘single_price‘: j[‘price‘]} all_price = 0 for k,v in car_dict.items(): #循环选中的商品,并计算价格 n = v[‘num‘] m = v[‘single_price‘] all_sum = n*m all_price = all_price + all_sum print(k,‘总价:‘,n*m,‘数量:‘,n) print(‘总和:‘,all_price) if all_price > mon_all: print (‘亲,您钱不够了!‘) else: print (‘可以支付.‘)
menu={ "河北省":{ "石家庄市":[‘长安区‘,‘桥西区‘,‘新华区‘], "唐山市":[‘路北区‘,‘路南区‘,‘古冶区‘], "保定市":[‘竞秀区‘,‘莲池区‘,‘满城区‘] }, "吉林省":{ "长春市":[‘南关区‘,‘朝阳区‘,‘绿园区‘], "吉林市":[‘船营区‘,‘龙潭区‘,‘昌邑区‘], "松原市":[‘宁江区‘,‘乾安县‘,‘长岭县‘] }, "黑龙江省":{ "哈尔滨市":[‘道里区‘,‘南岗区‘,‘道外区‘], "佳木斯市":[‘向阳区‘,‘前进区‘,‘东风区‘], "牡丹江市":[‘东安区‘,‘阳明区‘,‘爱民区‘] } } current_layer = menu #实现动态循环 parent_layers = [] #保存所有父级,最后一个元素永远都是父级 while True: for key in current_layer: print(key) choice = input(">>>:").strip() if len(choice) == 0:continue if choice in current_layer: parent_layers.append(current_layer) #在进入下一层之前,把当前层(即下一层的父级) #下一次循环,当用户选择b的时候,就可以直接取列表的最后一个值出来就ok了 current_layer = current_layer[choice] #改成了子层 elif choice == "b": if parent_layers: # [] current_layer = parent_layers.pop() #取出列表的最后一个值,因为它就是当前层的父级 else: print("输入错误,请重新输入:")
标签:取出 alt 序号 交互 提示 实现 closed style pen
原文地址:http://www.cnblogs.com/Jiayongxu/p/6984904.html