Python 练习 - 省市县三级联动

功能说明:

1、用户交互,显示省市县三级联动的选择。

2、输入省份显示所有市。

3、输入市显示县。

dic = {

"河北": {

"石家庄": ["鹿泉", "藁城", "元氏"],

"邯郸": ["永年", "涉县", "磁县"],

}

"河南": {

...

}

"山西": {

...

}

}

使用说明:

1.输入省,如果输入成功输出所在省下边的所有市,否则重新输入。

2.输入市,如果输入成功出所在市下边所有县,否则重新输入。

3.输入县,如果输入成功,输出县并退出否则重新输入。

代码:

#!/usr/bin/Python
# -*- coding:utf-8 -*-
dic = { "河北": {"石家庄": ["鹿泉", "藁城", "元氏"],"邯郸": ["永年", "涉县", "磁县"],},
"河南":{"郑州":["中原区","二七区","管城区","金水区"],"洛阳市":["老城区","涧西区","吉利区","伊滨区"]},}
for i in dic.keys():#将所有省份输出
print(i)
#输入省份如果dic字典的key中包含 所输入的省份进入下一步,如果不包含重新输入省份直到正确为止
while True:
inp = input("请输入省份")
if inp in dic.keys():#判断是否包含在字典key中
for one in dic[inp].keys():
print(one)
break
else:
print("请重新输入省!")
while True:#输入省份
shi = input("请输入市")
if shi in dic[inp].keys():#如果输入的市包含在省份下的市集合中将市下边的所有县输出
for two in dic[inp][shi]:
print(two)
break
else:
print("请重新输入市")
while True:#输入省份
xian = input("请输入县")
for three in dic[inp][shi]:#遍历所属市的列表县
if three == xian:#如果输入的县存在输出县
print(three)
break