需求:
可依次选择进入各子菜单可从任意一层往回退到上一层可从任意一层退出程序 数据结构
menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '北航':{}, }, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ "人民广场":{ '炸鸡店':{} } }, '闸北':{ '火车战':{ '携程':{} } }, '浦东':{}, }, '山东':{}, }
代码:
new_menu = menulist = []while 1: print('-----menu-----') for i in new_menu: print(i) user_input = input('输入名称进入下一栏,或输入r/R回到上一栏,或输入q/Q退出程序:').strip()#strip:移除输入中的空格 if not new_menu: continue if user_input in new_menu: list.append(new_menu) #进入下一层之前记录当前层 new_menu = new_menu[user_input] #进入下一层 elif user_input =='r' or user_input =='R': if len(list) != 0: new_menu = list.pop()#将上一级菜单弹出赋值给new_menu! else: print('没有栏目了') elif user_input == 'q' or user_input == 'Q': print('退出程序!') exit()