python学习-2字典实现三级菜单

menu = {
"江苏":{
'南京':["江宁",'鼓楼','六合'],
'南通':["海门","如皋","海安"],
'苏州':["昆山 ","吴中区",'常熟']
},
"安徽":{
'合肥':["庐阳","瑶海","包河","蜀山","肥东县","肥西县","巢湖","长丰","高新" ,"滨湖"],
'六安':["金安区","裕安区","叶集","霍邱","金寨","霍山","舒城"]
},
'上海':{}
}
cmenu = menu #设置当前菜单位置
pamenu = [] #将父菜单放入一个列表中,初始为空列表
while True:
for i in cmenu:
print(i)
choice = input("输入key/b:返回,q:退出 :")
if choice in cmenu:
if not isinstance(cmenu, list): #判断当前菜单不是一个列表
if cmenu[choice]: #此项判断菜单最子层是字典的话,如果字典不为空 比如上海子层为空字典
pamenu.append(cmenu) #将当前层加入父层列表中
cmenu = cmenu[choice] #将当前层变为选择的子层
else:print("此项为最后一层")
else:print("此项为最后一层")

elif choice == 'b': #选择b的话
if pamenu == []: #如果父层为空的话,说明当前层为最上面的一层
cmenu = menu
else:cmenu = pamenu.pop() #父层不为空时,选出最后一个菜单
elif choice == 'q':
break
else:
print('无此项')
posted @ 2017-09-07 18:55  秋名山车神丶  阅读(204)  评论(0编辑  收藏  举报