数据结构:
menu = {
'北京':{
'海淀':{
'五道口':{
'soho':{},
'网易':{},
'google':{}
},
'中关村':{
'爱奇艺':{},
'汽车之家':{},
'youku':{},
},
'上地':{
'百度':{},
},
},
'昌平':{
'沙河':{
'老男孩':{},
'北航':{},
},
'天通苑':{},
'回龙观':{},
},
'朝阳':{},
'东城':{},
},
'上海':{
'闵行':{
"人民广场":{
'炸鸡店':{}
}
},
'闸北':{
'火车战':{
'携程':{}
}
},
'浦东':{},
},
'山东':{},
}
需求:
所需新知识点:列表、字典
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
......
]
1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
1、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
2、允许查询之前的消费记录
购物车程序:
salary = int(input('请输入与您的工资:')) goods = [['手机',2099],['电脑',6999],['配件',99],['衣服',399],['用品',69]] shopping_cart = [] run_flag = True while run_flag: print('----------商品列表----------') info =''' %s %s %d''' for index,p in enumerate(goods): print(info %(index,p[0],p[1])) print('---------退出请选:q---------') choose=input('请选择您要购买的商品编号:') if choose.isdigit(): choose = int(choose) if choose >= 0 and choose <= len(goods): if salary > goods[choose][1]: while True: print('您购买的商品如下:','''%s %s''' %(goods[choose][0],goods[choose][1])) judge = input('确定购买以上商品?y or n') if judge == 'y': salary = salary - int(goods[choose][1]) shopping_cart.append(goods[choose]) print('余额还剩',salary) break elif judge == 'n': break else: print('请输入当有选项!') continue else: print('您的余额不足!') continue else: print('请选择当前拥有的商品编号!') continue elif choose == 'q': if len(shopping_cart) > 0: print('----------您的订单----------') for index,p in enumerate(shopping_cart): print(''' %d %s %d''' %(index,p[0],p[1])) print('余额:',salary) print('--------------end--------------') break else: print('您的输入有误,请重新输入!') continue
退出整个程序==>>: exit('bye!')
menu = { 'A':{ 'AA':{ 'AAA': { 'a1aa':{'aaa'}, 'aa1a':{'aaa'}, 'aaa1':{'aaa'} }, 'AAB': {'a1ab':{'aab'},'aa1b':{'aaa'},'aab1':{'aaa'}}, 'AAC': {'a1ac':{'aac'},'aa1c':{'aaa'},'aac1':{'aaa'}} }, 'AB':{ 'ABA': {'a2ba':['aba'],'ab2a':['aba'],'aba':['aba']}, 'ABB': {'a2bb':['abb'],'ab2b':['aba'],'abb':['abb']}, 'ABC': {'a2bc':['abc'],'ab2c':['aba'],'abc':['aba']} }, 'AC':{ 'ACA': {'a3ca':['aca'],'ac3a':['aca'],'aca':['aca']}, 'ACB': {'a3cb':['acb'],'ac3b':['aca'],'acb':['aca']}, 'ACC': {'a3cc':['acc'],'ac3c':['aca'],'acc':['aca']} } }, 'B':{ 'BA':{ 'BAA': {'bca2': ['aca'], 'b8ca': ['aca'], 'bca': ['aca']}, 'BAB': {'bcb2': ['acb'], 'b8cb': ['aca'], 'bcb': ['aca']}, 'BAC': {'bcc2': ['acc'], 'b8cc': ['aca'], 'bcc': ['aca']} }, 'BB':{ 'BBA': {'bca2': ['aca'], 'a8ca': ['aca'], 'aca': ['aca']}, 'BBB': {'bcb2': ['acb'], 'a8cb': ['aca'], 'acb': ['aca']}, 'BBC': {'bcc2': ['acc'], 'a8cc': ['aca'], 'acc': ['aca']} }, 'BC':{ 'BCA2': {'b6ca': ['aca'], 'b8ca': ['aca'], 'bca': ['bca']}, 'BCB2': {'b6cb': ['acb'], 'b8cb': ['aca'], 'bcb': ['aca']}, 'BCC2': {'b6cc': ['acc'], 'b8cc': ['aca'], 'bcc': ['aca']} } }, 'C':{ 'CA':{ 'CAA': {'bca3': ['aca'], 'b5ca': ['aca'], 'bca': ['aca']}, 'CAB': {'bcb3': ['acb'], 'b5cb': ['aca'], 'bcb': ['aca']}, 'CAC': {'bcc3': ['acc'], 'b5cc': ['aca'], 'bcc': ['aca']} }, 'CB':{ 'CBA': {'bca3': ['aca'], 'b5ca': ['aca'], 'bca': ['aca']}, 'CBB': {'bcb3': ['acb'], 'b5cb': ['aca'], 'bcb': ['aca']}, 'CBC': {'bcc3': ['acc'], 'b5cc': ['aca'], 'bcc': ['aca']} }, 'CC':{ 'CCA': {'bca3': ['aca'], 'b5ca': ['aca'], 'bca': ['aca']}, 'CCB': {'bcb3': ['acb'], 'b5cb': ['aca'], 'bcb': ['aca']}, 'CCC': {'bcc3': ['acc'], 'b5cc': ['aca'], 'bcc': ['aca']} } } } current_layer = menu layer = [] while True: for k in current_layer: print(k) choice = input('>>:').strip() if not choice: continue elif choice in current_layer: layer.append(current_layer) current_layer = current_layer[choice] elif choice == 'b': if len(layer) != 0: current_layer = layer.pop(-1) else: print('已到最顶层!') elif choice == 'q': exit('bye!') else: print('请正确输入!')