标签:技术分享 splay loop 北大 color 三级 while 阿里 分享图片
简介:1.用字典建立一个省市县的三级菜单
2.开始显示所有的省份,输入要进入的省份之后,显示该省份下的所有市,输入市显示该市下的所有县
3.在每一级菜单下都可以返回到上一层菜单
4.随时可以退出
1 menu = { 2 "北京": { 3 "海淀": { 4 "清华":{}, 5 "北大":{}, 6 "人大":{} 7 }, 8 "朝阳": { 9 "腾讯":{}, 10 "百度":{}, 11 "阿里":{} 12 }, 13 "通州": { 14 "防灾":{}, 15 "华科":{} 16 } 17 }, 18 "甘肃": { 19 "庆阳": { 20 "环县":{}, 21 "宁县":{} 22 }, 23 "白银": { 24 "白银1县": {}, 25 "白银2县": {}, 26 "白银3县": {} 27 }, 28 "武威": { 29 "武威1县": {}, 30 "武威2县": {}, 31 "武威3县": {}, 32 "武威4县": {} 33 } 34 }, 35 "河北": { 36 "廊坊": { 37 "廊坊1县": {}, 38 "廊坊2县": {}, 39 "廊坊3县": {} 40 }, 41 "承德": { 42 "承德1县": {}, 43 "承德2县": {}, 44 "承德3县": {} 45 }, 46 "保定": { 47 "保定1县": {}, 48 "保定2县": {}, 49 "保定3县": {} 50 } 51 } 52 } 53 54 current_layer = menu # 实现动态循环 55 parent_layers = [] # 保存所有所有父级 最后一个元素永远都是父亲级 56 while True: 57 for key in current_layer: 58 print(key) 59 choice = input(">>>:") 60 if len(choice) == 0: 61 continue 62 if choice in current_layer: 63 parent_layers.append(current_layer) # 在进入下一层前,把当前层(也就是下一层的父级) 64 # 追加到列表中,下一次loop,当用户选择Q时,直接取列表的最后一个值出来 65 current_layer = current_layer[choice] # 改成子层 66 elif choice == "Q": 67 if parent_layers: 68 current_layer = parent_layers.pop() # 取出列表的最后一个元素,因为它就是当前层的父级 69 else: 70 print("无此项")
标签:技术分享 splay loop 北大 color 三级 while 阿里 分享图片
原文地址:https://www.cnblogs.com/ss-long/p/10291714.html