Python_Day1作业_城市查询

城市信息:CityList.py

info = {
    '北京':{
        '海淀区': ['中关村','五道口','安宁庄','北京大学','车道沟'],
        '东城区': ['安定门','北新桥','朝阳门','东直门','王府井'],
        '西城区': ['百万庄','车公庄','德胜门','地安门','阜成门'],
        '丰台区': ['大红门','马家宝','右安门','世界公园','六里桥'],
        '朝阳区': ['安慧桥','奥运村','北沙滩','广渠门','八里庄'],
     },
    '上海': {
        '浦东新区': ['八佰伴','张江','唐镇','陆家嘴','外滩'],
        '徐汇区' : ['上海植物园','万体馆','徐家汇','漕河泾','田林','上海交大'],
        '长宁区' : ['北新泾','中山公园','动物园','西郊公园','周家桥','程家桥'],
        '普陀区' : ['建德公园','李子园','武宁路','万里城','长风公园',],
        '杨浦区' : ['东外滩','黄兴','鞍山','五角场','新江湾城'],
        '闵行区' : ['七宝','辛庄','虹桥','静安新城','马桥'],
        '嘉定区' : ['安亭','曹王','丰庄','华庭','嘉定城区'],
        '静安区' : ['南京西路','上海电视台','玉佛寺','曹家渡','静安寺'],
        '金山区' : ['亭林','枫泾','金山新城','金山工业区','廊下'],
    },
    '广州' :{
        '天河': ['东圃','岗顶','黄村','天河公园','五山',],
        '海珠': ['宝岗','洪德','东晓','南州','沙园',],
        '越秀': ['东湖','小北','东川','广卫','中山路'],
        '白云': ['东平','广花','永泰','新市','伍仙桥'],
        '荔湾': ['宝华路','坑口','芳村','窖口','菊树'],
        '佛山': ['高明','南海','清溪','禅城','三水'],
        '黄埔': ['大沙地','皇浦新村','庙头','文冲','渔珠'],
        '花都': ['花东','狮岭','山前大道','旧区','新区'],
        '东莞': ['东城','莞城','虎门','南城','长安'],
        '南沙': ['大岗','黄阁','锦州','万顷沙','东升'],
   },
    '深圳':{
        '罗湖': ['布心','蔡屋围','翠竹','草铺','东门','东湖'],
        '福田': ['八卦岭','笔架山','保税区','赤尾','车公庙','荔枝公园'],
        '南山': ['白石洲','大冲','桃源村','西丽','中心区','后海',],
        '盐田': ['大梅沙','沙头角','小梅沙','盐田','盐田周边'],
        '宝安': ['松岗','宝安','福永','翻身路','石岩','沙井'],
        '龙岗区': ['坂田','大运新城','横岗','龙岗','平湖','坪地'],
        '布吉': ['布吉关','丹竹头','康桥','大芬村','丽湖','木棉湾'],
    },
}

City_select.py

import CityList
SelectSuccess=True
City_List=list(CityList.info.keys()) #获取省份列表
while SelectSuccess:
Print_City = ''
for i,val in enumerate(City_List): #通过enumerate将省份按照阿序号排列,通过for循环取值
i = str(i)
Print_City += i + '\t' + val + ' | '
print ('\033[36;1m欢迎登陆查询系统,请根据提示进行查询\033[0m')
print ('\033[36;1m%s\033[0m'%(Print_City))
City=input('\033[36;1m请输入序列号选择你要查询的城市,Q退出:\033[0m').strip()
if City == 'Q':
SelectSuccess=False
break
if City.isdigit() is False: #判断用户输入的是不是数字 不是继续输入
print ('\033[1;31;40m请输入正确的指令\033[0m')
continue
if len(City) != 0 and int(City) < len(City_List): #判断用户输入是不是为空(可取消) and 用户输入的数字是否超过省份列表的索引值
Print_Area = ''
Area_List = list(CityList.info[City_List[int(City)]]) #将用户选择的省份取出其区域的keys转换为列表
for i,val in enumerate(Area_List): #取出用户输入的省份的keys添加序列号 for循环取出
i = str(i)
Print_Area += i + '\t' + val + ' | '
while SelectSuccess:
User_Input=input ('''\033[36;1m
===============================================================================================
欢迎来到 %s:
%s区域分布如下:
%s
===============================================================================================
请输入您选择的城市编号,按Q退出,B返回上一级:\033[0m
'''%(City_List[int(City)],City_List[int(City)],Print_Area)).strip()
if User_Input == 'B':
break
if User_Input == 'Q':
SelectSuccess=False
break
if User_Input.isdigit() is False:
print ('\033[1;31;40m请输入正确的指令\033[0m')
continue
if len(User_Input) != 0 and int(User_Input) < len(Area_List): #判断用户输入是不是为空(可取消) and 用户输入的数字是否超过区域列表的索引值
if int(User_Input) <= len(Area_List):
print ('\033[36;1m')
print (CityList.info[City_List[int(City)]][Area_List[int(User_Input)]]) #打印用户选择的区域的信息
print ('\033[0m')
Exit=input('\033[36;1m查询结束,Q退出,任意键继续查询\033[0m')
if Exit == 'Q':
SelectSuccess=False
break
else:
print ('\033[1;31;40m请输入正确的序列号\033[')
else:
print ('\033[1;31;40m请输入正确的序列号\033[0m')
else:
print ('\033[1;31;40m请输入正确的序列号\033[0m')
if SelectSuccess==False:
print ('\033[36;1m谢谢使用,再见!\033[0m')

 

你可能感兴趣的:(Python_Day1作业_城市查询)