实现一个三级菜单,可回退,可随时退出,可返回
menu = {'北京':{'海淀':{'五道口':{'soho':{},'网易':{},'google':{}},'中关村':{'爱奇艺':{},'汽车之家':{},'youku':{},},'上地':{'百度':{},},},'昌平':{'沙河':{'老男孩':{},'北航':{},},'天通苑':{},'回龙观':{},},'朝阳':{},'东城':{},},'上海':{'闵行':{"人民广场":{'炸鸡店':{}}},'闸北':{'火车战':{'携程':{}}},'浦东':{},},'山东':{},
}current = menu
gyf=[menu]
while True:for i in current.keys():print(i)a = input('>').strip()if a == 'b':current=gyf[-1] # current最后一位都是保留上一级菜单if len(gyf) > 1: # 防止在一级菜单退出多次时报错gyf.pop() # 拿到上级菜单后要把最后一位删除,此时最后一位就是上上级菜单elif a in ('q','quit'):breakelif a not in current:continueelse:gyf.append(current) #每次把当前的菜单都放到最后一位current=current[a] #把下级菜单放到current,这样打印出来就是下级菜单