一、压栈
menu = { '北京':{ '海淀':{ '五道口':{ 'sogo':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '汇德商厦老男孩':{}, '北航':{}, }, '天通苑':{}, '回龙观':{}, }, '朝阳':{ '朝阳大妈':{} }, '东城':{}, }, '上海':{ '闵行':{ "人民广场":{ '炸鸡店':{} } }, '闸北':{ '火车战':{ '携程':{} } }, '浦东':{}, }, '山东':{ '高丽':{} }, } # 高级进阶版 # last = [menu] #上一层,起始层为当前菜单,将其作为列表存储起来 # current = menu #当前层,起始层为当前菜单 # while True: #循环执行 # for key in current: #遍历菜单,是否在当前层 # print(key) #展示菜单 # choice = input('请输入:').strip() #输入选择内容 # if choice in current: #开始选择,如果在当前层 # last.append(current) #将当前层的所有选择追加进上一层列表 # current = current[choice] #新当前层为旧当前层所选择的下一层,然后接着循环 # if choice == 'b': #如果选择b # # if last: #数据越界进行选择,选择只在上一层列表中查找数据 # current = last[-1] #当前层就是上一层最后一次存储的内容,将其取出并展示出来 # last.pop() #将上一层最后取出的数据删除 # if choice == 'q': #选择q # break #退出整个循环