作业

打印省、市、县三级菜单
可返回上一级
可随时退出程序

-------------------------------
des = {
'北京':{
'朝阳':{
'天安门':{},
'地安门':{},
'中华门':{}
},
'海淀':{
'北大':{},
'邮电':{},
'外国语':{}
},
'丰台':{
'外海':{},
'地坛':{},
'故宫':{}
}
},
'上海':{
'闵行':{
'七宝':{},
'体育公园':{},
'徐家汇':{}
},
'宝山':{
'码头':{},
'钢铁':{},
'东方明珠':{}
},
'松江':{
'工技大':{},
'东华':{},
'华东政法':{}
}
},
'广州':{
'荔湾':{
'肠粉':{},
'虾饺':{},
'河粉':{}
},
'增城':{
'地铁':{},
'机场':{},
'高速':{}
},
'南海':{
'碧桂园':{},
'万科城':{},
'东堤花园':{}
}
}
}

go = True
while go:
for i in des:#循环第一级
print(i)#打印第一级
de1 = input('请输入城市名>>>').strip()#得到输入的城市
if de1.lower() == 'q':#如果输入的是Q或者q ,则推出
break
if de1.lower() =='b':#如果输入的是B或者b,则返回
continue#本次循环终止,继续从while循环开始循环
if de1 not in des:#如果输入的城市名不在des内,则提醒重新输入
t1 ='-----------{}不在城市列表中------'.format(de1)
print(t1)
print('可选城市如下:')#打印可以输入的城市
for i in des: #
print(i) #
continue
else:#如果输入的城市在字典内
a = des[de1]
for i2 in a:
print(i2)#打印输入已输入的城市的行政区
while go:
de2 = input('请输入行政区>>>').strip()
if de2.lower() == 'q':
go = False
if de2.lower() == 'b':
break
continue
if de2 not in des[de1]:
t2 = '--------------%s 市不包含 %s区---------------'%('de1','de2')
print(t2)
print('可选行政区如下: ')
for i2 in a:
print(i2)
continue
else:
b = des[de1][de2]
for i3 in b:
print(i3)
while go:
de3 = input('请输入具体地点>>>')
if de3.lower() == 'q':
go = False
if de3.lower() == 'b':
break
continue
if de3 not in des[de1][de2]:
t3 = '--------%s 不在%s 区----------'%(de3,de2)
print(t3)
print('可选具体地点如下:')
for i3 in b:
print(i3)
continue
else:
b2 = des[de1][de2][de3]
for i4 in b2:
print(b2)


---------------------------------------------------

posted @ 2018-03-27 15:18  阜阳小全  阅读(74)  评论(0编辑  收藏  举报