python中的三级菜单
#!/usr/bin/env python
# -*- coding=utf-8 -*-
zone = {
'山东' : {
'青岛' : ['四方','黄岛','崂山','李沧','城阳'],
'济南' : ['历城','槐荫','高新','长青','章丘'],
'烟台' : ['龙口','莱山','牟平','蓬莱','招远']
},
'江苏' : {
'苏州' : ['沧浪','相城','平江','吴中','昆山'],
'南京' : ['白下','秦淮','浦口','栖霞','江宁'],
'无锡' : ['崇安','南长','北塘','锡山','江阴']
},
'浙江' : {
'杭州' : ['西湖','江干','下城','上城','滨江'],
'宁波' : ['海曙','江东','江北','镇海','余姚'],
'温州' : ['鹿城','龙湾','乐清','瑞安','永嘉']
},
'安徽' : {
'合肥' : ['蜀山','庐阳','包河','经开','新站'],
'芜湖' : ['镜湖','鸠江','无为','三山','南陵'],
'蚌埠' : ['蚌山','龙子湖','淮上','怀远','固镇']
},
'广东' : {
'深圳' : ['罗湖','福田','南山','宝安','布吉'],
'广州' : ['天河','珠海','越秀','白云','黄埔'],
'东莞' : ['莞城','长安','虎门','万江','大朗']
}
}
dic=zone #创建动态字典
parants=[] #用列表储存上一层字典
while True:
for i in dic:
print(i)
print('{:-^30}'.format('按q退出,按b返回上一页'))
n=input('请输入地名:').strip().lower()
if n=='q':break
elif len(n)==0:
print('请重新输入!')
continue
elif n in dic:
while True:
if isinstance(dic,list): #如果变量为list类型
print('{:!^30}'.format('到底了'))
break
else:
parants.append(dic)
dic = dic[n]
break
elif n=='b':
if parants:
dic=parants.pop()
else:
print("{0:*^30}".format('输入有误,请重新选择'))