三级菜单
需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
1 #_*_coding:utf-8_*_ 2 3 menu = { 4 '北京':{ 5 '海淀':{ 6 '五道口':{ 7 'soho':{}, 8 '网易':{}, 9 'google':{} 10 }, 11 '中关村':{ 12 '爱奇艺':{}, 13 '汽车之家':{}, 14 'youku':{}, 15 }, 16 '上地':{ 17 '百度':{}, 18 }, 19 }, 20 '昌平':{ 21 '沙河':{ 22 '老男孩':{}, 23 '北航':{}, 24 }, 25 '天通苑':{}, 26 '回龙观':{}, 27 }, 28 '朝阳':{}, 29 '东城':{}, 30 }, 31 '上海':{ 32 '闵行':{ 33 "人民广场":{ 34 '炸鸡店':{} 35 } 36 }, 37 '闸北':{ 38 '火车战':{ 39 '携程':{} 40 } 41 }, 42 '浦东':{}, 43 }, 44 '山东':{}, 45 } 46 47 current_layer = menu 48 layers = [] 49 while True: 50 for k in current_layer: 51 print(k) 52 choice = raw_input(">:").strip() 53 if not choice: 54 continue 55 if choice in current_layer: 56 layers.append(current_layer) 57 current_layer = current_layer[choice] 58 elif choice == 'back': 59 if len(layers) != 0: 60 current_layer = layers.pop() 61 else: 62 print("已经是顶层") 63 elif choice == 'exit': 64 break