经过今天Alex大神的指点,终于打通任督二脉了!将昨天比较复杂的代码优化至此:(代码注释后期添加)
# 编辑者:闫龙 #三级目录 menu = { '北京':{ '海淀':{ '五道口':{'soho':{},'网易':{},'google':{}}, '中关村':{'爱奇艺':{},'汽车之家':{},'youku':{},}, '上地':{'百度':{},}, }, '昌平':{ '沙河':{'老男孩':{},'北航':{},}, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ '人民广场':{'炸鸡店':{}} }, '闸北':{ '火车战':{'携程':{}} }, '浦东':{}, }, '山东':{}, } #定义一个用户输入列表,用来记录用户所输入的 UserSelect=[]; UserInput=""; OldMenu = []; ViewMenu = menu; while True: for Citys in ViewMenu: print(Citys); UserInput = input(">>>:").strip(); if(UserInput == "b"): if(len(UserSelect)==0): print("已经是最顶层"); else: UserSelect.pop(-1); ViewMenu = OldMenu[-1]; OldMenu.pop(-1); continue elif(UserInput == "q"): exit(); elif not UserInput in ViewMenu.keys(): continue; else: UserSelect.append(UserInput); OldMenu.append(ViewMenu); ViewMenu = ViewMenu[UserInput];