三级菜单
1.查找三级菜单的内容:
menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': {}, 'youku': {}, }, '上地': { '百度': {}, }, }, '昌平': { '沙河': { '老男孩': {}, '北航': {}, }, '天通苑': {}, '回龙观': {}, }, '朝阳': {}, '东城': {}, }, '上海': { '闵行': { "人民广场": { '炸鸡店': {} } }, '闸北': { '火车战': { '携程': {} } }, '浦东': {}, }, '山东': {}, }
程序:
l=[menu]#将整个字典放进列表 [ 字典 ] while l: for k in l[-1]:#循环一个字典 显示的是字典的键,l[-1]是整个字典 print(k) key=input('>>>') if key.upper()=='B': l.pop() elif key.upper()=="Q": l.clear() elif l[-1].get(key):#如果输入的是北京,get的是北京的键值对, l.append(l[-1].get(key))#这里l[-1]是把拿到的键值对添加在列表的最后一位,之前的还是不变的 print(l[-1]) print(l)
结果是:
F:\pycharmproject\venv\Scripts\python.exe F:/pycharmproject/新建文件夹/day0327/作业/三级菜单demo.py 北京 上海 山东 >>>北京 l[-1] {'海淀': {'五道口': {'soho': {}, '网易': {}, 'google': {}}, '中关村': {'爱奇艺': {}, '汽车之家': {}, 'youku': {}}, '上地': {'百度': {}}}, '昌平': {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}, '朝阳': {}, '东城': {}} l [{'北京': {'海淀': {'五道口': {'soho': {}, '网易': {}, 'google': {}}, '中关村': {'爱奇艺': {}, '汽车之家': {}, 'youku': {}}, '上地': {'百度': {}}}, '昌平': {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}, '朝阳': {}, '东城': {}}, '上海': {'闵行': {'人民广场': {'炸鸡店': {}}}, '闸北': {'火车战': {'携程': {}}}, '浦东': {}}, '山东': {}}, {'海淀': {'五道口': {'soho': {}, '网易': {}, 'google': {}}, '中关村': {'爱奇艺': {}, '汽车之家': {}, 'youku': {}}, '上地': {'百度': {}}}, '昌平': {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}, '朝阳': {}, '东城': {}}] 海淀 昌平 朝阳 东城 >>>昌平 l[-1] {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}} l [{'北京': {'海淀': {'五道口': {'soho': {}, '网易': {}, 'google': {}}, '中关村': {'爱奇艺': {}, '汽车之家': {}, 'youku': {}}, '上地': {'百度': {}}}, '昌平': {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}, '朝阳': {}, '东城': {}}, '上海': {'闵行': {'人民广场': {'炸鸡店': {}}}, '闸北': {'火车战': {'携程': {}}}, '浦东': {}}, '山东': {}}, {'海淀': {'五道口': {'soho': {}, '网易': {}, 'google': {}}, '中关村': {'爱奇艺': {}, '汽车之家': {}, 'youku': {}}, '上地': {'百度': {}}}, '昌平': {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}, '朝阳': {}, '东城': {}}, {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}] 沙河 天通苑 回龙观 >>>沙河 l[-1] {'老男孩': {}, '北航': {}} l [{'北京': {'海淀': {'五道口': {'soho': {}, '网易': {}, 'google': {}}, '中关村': {'爱奇艺': {}, '汽车之家': {}, 'youku': {}}, '上地': {'百度': {}}}, '昌平': {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}, '朝阳': {}, '东城': {}}, '上海': {'闵行': {'人民广场': {'炸鸡店': {}}}, '闸北': {'火车战': {'携程': {}}}, '浦东': {}}, '山东': {}}, {'海淀': {'五道口': {'soho': {}, '网易': {}, 'google': {}}, '中关村': {'爱奇艺': {}, '汽车之家': {}, 'youku': {}}, '上地': {'百度': {}}}, '昌平': {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}, '朝阳': {}, '东城': {}}, {'沙河': {'老男孩': {}, '北航': {}}, '天通苑': {}, '回龙观': {}}, {'老男孩': {}, '北航': {}}] 老男孩 北航 >>>北航 老男孩 北航
2.北京地铁信息三级菜单:
菜单:
china_ditie = { "北京": { "一号线": ["四惠", "大望路", "天安门", "西单"], "二号线": ["北京站", "朝阳门", "东直门", "西直门"], "三号线": ["国贸", "三元桥", "知春路", "巴沟"] }, "上海": { "四号线": ["徐家汇", "人民广场", "延长路", "共康路", "呼兰路"], "五号线": ["东昌路", "静安寺", "江苏路", "虹桥火车站"], "六号线": ["宝山路", "赤峰路", "曹阳路", "虹桥路", "宜山路"] }, "广州": { "七号线": ["东山口", "农讲所", "烈士陵园", "公园前", "体育西路"], "八号线": ["黄边", "纪念堂", "三元里", "白云公园"], "九号线": ["沙河顶", "北京路", "一德路", "文化公园"] }, "深圳": { "一号线": ["高新园", "桃园", "白石洲", "华侨城"], "四号线": ["白石龙", "明乐", "少年宫", "红山"], "五号线": ["大学城", "兴东", "西里", "深圳北站"] }, }
程序:注意到最后的菜单后是一个列表格式
l=[china_ditie]#将整个字典放进列表 [ 字典 ] while l: for k in l[-1]:#循环一个字典 显示的是字典的键,l[-1]是整个字典 print(k) key=input('>>>') if key.upper()=='B': l.pop() elif key.upper()=="Q": l.clear() elif type(l[-1][key])==dict: l.append(l[-1].get(key)) else: print(l[-1][key])
结果:
F:\pycharmproject\venv\Scripts\python.exe F:/pycharmproject/新建文件夹/day0327/作业/三级菜单demo.py 北京 上海 广州 深圳 >>>北京 一号线 二号线 三号线 >>>一号线 ['四惠', '大望路', '天安门', '西单'] 一号线 二号线 三号线 >>>