# _author : Ahern Li
# @_date : 2017/9/12
menu = {
'浙江省'
:{
'杭州市'
:{
'余杭区'
:{
'中泰'
:{},
'临平'
:{}},
'西湖区'
:{
'西湖'
:{},
'留下'
:{}}
},
'温州市'
:{
'苍南县'
:{
'灵溪'
:{},
'龙港'
:{}},
'瑞安县'
:{
'安阳'
:{},
'锦湖'
:{}}
}
},
'广东省'
:{
'广州市'
:{
'越秀区'
:{
'人民路'
:{},
'北京路'
:{}},
'荔湾区'
:{
'沙面'
:{},
'龙津'
:{}}
},
'珠海市'
:{
'香洲区'
:{
'拱北'
:{},
'吉大'
:{}},
'金湾区'
:{
'红旗镇'
:{},
'平沙镇'
:{}}
}
}
}
# 返回标记
q_flag = True
# 退出标记
Q_flag = True
# 返回,退出标记出现False退出循环
while
q_flag
and
Q_flag:
# 遍历打印省份
for
i in menu:
print
(i)
province = input(
'请输入要查找的省份(Q,退出):'
).strip()
if
province in menu:
while
q_flag
and
Q_flag:
for
i in menu[province]:
print
(i)
city = input(
'请输入要查找的市(q,返回 或 Q,退出):'
).strip()
if
city in menu[province]:
while
q_flag
and
Q_flag:
for
i in menu[province][city]:
print
(i)
county = input(
'请输入要查找的区或县(q,返回 或 Q,退出):'
).strip()
if
county in menu[province][city]:
while
q_flag
and
Q_flag:
for
i in menu[province][city][county]:
print
(i)
# 提示最后一页,输入格式
choice = input(
'最后一页! q,返回 或 Q,退出:'
).strip()
if
choice ==
'q'
:
# 配合
else
: q_flag = True 退出该层循环,返回上层循环
q_flag = False
elif choice ==
'Q'
:
# 退出大循环
Q_flag = False
else
:
# 提示输入不合法
print
(
'输入错误!'
)
# 改回 q_flag 的值,实现只退出一层循环
else
:
q_flag = True
elif county ==
'q'
:
q_flag = False
elif county ==
'Q'
:
Q_flag = False
else
:
print
(
'输入错误!'
)
else
:
q_flag = True
elif city ==
'q'
:
q_flag = False
elif city ==
'Q'
:
Q_flag = False
else
:
print
(
'输入错误!'
)
else
:
q_flag = True
elif province ==
'Q'
:
Q_flag = False
else
:
print
(
'输入错误!'
)