1
# -*- coding:utf-8 -*- menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航': {}, }, '天通苑': {}, '回龙观': {}, }, '朝阳': {}, '东城': {}, }, '上海': { '闵行': { "人民广场": { '炸鸡店': {} } }, '闸北': { '火车站': { '携程': {} } }, '浦东': {}, }, '山东': {}, } prompt = "请输入菜单名,进入子菜单\n 输入'b'回到上级菜单\n 输入'q'退出程序:" current_menu = menu # 当前菜单 parent_menu = [] # 父菜单 while True: if len(current_menu) == 0: print('当前菜单为最底层') for i in current_menu: print('菜单-->', i) choice = input(prompt).strip() if not choice: continue if choice in current_menu: parent_menu.append(current_menu) # 记录父菜单列表 current_menu = current_menu[choice] # 当前菜单变为原菜单的子菜单 elif choice == 'b': if len(parent_menu) != 0: current_menu = parent_menu.pop() # 此命令删除最后一个列表元素并返回值给当前菜单 。 else: print('已到菜单最顶层') elif choice == 'q': print('退出程序') break else: print('请重新输入')