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
北京
上海
广州
深圳
>>>北京
一号线
二号线
三号线
>>>一号线
['四惠', '大望路', '天安门', '西单']
一号线
二号线
三号线
>>>