menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{} }, '上地':{ '百度':{} } }, '昌平':{ '沙河':{ '老男孩':{}, '北航':{}, }, '天通苑':{}, '回龙观':{} }, '朝阳':{}, '东城':{} }, '上海':{ '闵行':{ '人民广场':{ '炸鸡店':{} } }, '闸北':{ '火车站':{ '携程':{} } }, '浦东':{} }, '山东':{} } # l = [menu] # while 1: # for key in l[-1]: # print(key) # k = input('input>>>:').strip() # if k in l[-1].keys() and l[-1][k]: # l.append(l[-1][k]) # elif k == 'b': # l.pop() # elif k == 'q':break # else:continue def threeLM(dic): while True: for k in dic: print(k) key = input('inmut>>>:').strip() if key == 'b' or key == 'q': return key elif key in dic.keys() and dic[key]: ret = threeLM(dic[key]) if ret == 'q': return 'q' elif (not dic.get(key)) or (not dic[key]): continue threeLM(menu)