标签:火车站 网易 input for 循环 pre end bre 用户 浦东
1 menu = { 2 ‘北京‘:{ 3 ‘海淀‘:{ 4 ‘五道口‘:{ 5 ‘soho‘:{}, 6 ‘网易‘:{}, 7 ‘google‘:{} 8 }, 9 ‘中关村‘:{ 10 ‘爱奇艺‘:{}, 11 ‘汽车之家‘:{}, 12 ‘youku‘:{}, 13 }, 14 ‘上地‘:{ 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 1. 可依次选择进入各子菜单 # 2个变量来做字典, for 循环key 47 2. 可从任意一层往回退到上一层 # input 选择 48 3. 可从任意一层退出程序 # 退出循环 49 ‘‘‘ 50 51 c_menu = menu # 当前的字典 c=current 52 p_menu = [] # 通过列表来存储字典信息, P=previous 53 while True: 54 # 循环打印字典列表key 55 for key in c_menu: 56 print(key) 57 choice = input(">>>:").strip().lower() # 等待用户输入 去掉空格全部小写方便后面识别 58 if choice in c_menu: # 进入下一层 59 p_menu.append(c_menu) # 把当前层添加到列表 60 c_menu = c_menu[choice] # 当前层变为选择choice的下一层 61 elif choice == "b": 62 if p_menu: 63 c_menu = p_menu[-1]# 从列表中取到最后一个值,即循环的上一层,赋值给current_menu 64 p_menu.pop() # 删除后,保持列表不会在返回上层出错 65 elif choice == "q": break # 如果输入q,结束程序。 66 else: 67 print(‘错误信息,请再次选择‘.center(50,‘*‘)) 68 if not c_menu: 69 print(‘没有信息,请按B返回:‘)