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

 

查看原文