字典嵌套+循环嵌套:
1 # __author:"Cheng" 2 # date:2018/2/17 3 4 menu_ex = {‘江苏省‘:{‘常州市‘:{‘武进区‘:{}}, 5 ‘南京市‘:{‘玄武区‘:{}}, 6 ‘盐城市‘:{‘大丰区‘:{}}, 7 }, 8 ‘浙江省‘:{‘湖州市‘:{‘吴兴区‘:{}}, 9 ‘杭州市‘:{‘余杭区‘:{}}, 10 ‘宁波市‘:{‘江北区‘:{}}, 11 }, 12 ‘四川省‘:{‘成都市‘:{‘金牛区‘:{}}, 13 ‘自贡市‘:{‘大安区‘:{}}, 14 ‘绵阳市‘:{‘安州区‘:{}}, 15 } 16 } 17 18 choose_layer = menu_ex # 实现动态循环 19 parent_layers = [] # 保存所有父级为列表 , 最后一个元素永远都是父亲级 20 while True: 21 for key in choose_layer: # 循环输出字典本身 22 print(key) 23 usr_choice = input(‘请输入您的选择:‘).strip() 24 if len(usr_choice) == 0:continue # 如果输入长度是0,那么跳过当次输出,重新循环 25 if usr_choice in choose_layer: 26 parent_layers.append(choose_layer) # 在进入下一层之前,把当前层(也就是下一层的父级)追加到列表中,下一次loop,当用户选择r的时候就可以直接取列表的最后一个值出来 27 choose_layer = choose_layer[usr_choice] # 改成了子层 28 elif usr_choice == ‘r‘: 29 if parent_layers: # [] 30 choose_layer = parent_layers.pop() # 取出列表的最后一个值,因为它就是当前层的父级 31 else: 32 print(‘无此项!‘)