初级实现:
pro={'河北省':{'石家庄':['长安区','桥西区','新华区','井陉矿区','裕华区','藁城区','鹿泉区','栾城区','井陉县'], '唐山':['路北区','路南区','古冶区','开平区','丰南区','丰润区','曹妃甸区','滦南县','乐亭县'], '秦皇岛':['海港区','山海关区','北戴河区','抚宁区','青龙满族自治县','昌黎县','卢龙县']}, '广东省':{'广州':['越秀区','荔湾区','海珠区','天河区','白云区','黄埔区','花都区','番禺区'], '深圳':['福田区','罗湖区','南山区','盐田区','宝安区','龙岗区','龙华区','坪山区'], '汕头':['金平区','龙湖区','濠江区','潮南区','潮阳区','澄海区','南澳县']}, '河南省':{'郑州':['中原区','二七区','金水区','惠济区','管城区','上街区','巩义市','新郑市'], '开封':['龙亭区','鼓楼区','禹王台区','顺河区','祥符区','兰考县','通许县','杞县','尉氏县'], '洛阳市':['涧西区','西工区','老城区','瀍河区','洛龙区','吉利区','偃师市','宜阳县','孟津县']} } flag1= True while flag1: pr1=list(pro.keys()) for i in enumerate(pr1): print(i) sh=input('退出请输入q,或者继续请输入省份编号:') #打印省份,给出选择编码和退出选项 if sh=='q': #退出程序 break elif sh.isdigit() and 0<=int(sh)<len(pr1): sh=int(sh) #选择编码省 while flag1: city=list(pro[pr1[sh]]) for c in enumerate(city): print(c) #打印市 qu=input('退出请输入q,返回上一级输入r或者继续请输入选择的市编码') if qu=='q': flag1=False elif qu=='r': break elif qu.isdigit() and 0<=int(qu)<=len(city): qu=int(qu) zu=pro[pr1[sh]][city[qu]] for w in zu: print(w) print('结束啦。。。。。') flag1 = False else: print('输入有误,请重新选择') else: print('输入有误,请重新输入') continue