经过今天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];