zunyi = [‘红花岗‘, ‘汇川‘, ‘遵义‘] liupanshui = [‘钟山‘, ‘六枝特‘, ‘水城‘] guiyang = [‘南明‘, ‘云岩‘, ‘花溪‘] guizhou = {‘1:贵阳‘: guiyang, ‘2:六盘水‘: liupanshui, ‘3:遵义‘: zunyi} guilin = [‘秀峰‘, ‘叠彩‘, ‘象山‘] liuzhou = [‘城中‘, ‘鱼峰‘, ‘柳南‘] nanning = [‘兴宁‘, ‘青秀‘, ‘江南‘] guangxi = {‘1.南宁‘: nanning, ‘2.柳州‘: liuzhou, ‘2.桂林‘: guilin} shenzhen = [‘罗湖‘, ‘福田‘, ‘南山‘] shaoguan = [‘武江‘, ‘浈江‘, ‘曲江‘] guangzhou = [‘荔湾‘, ‘越秀‘, ‘海珠‘] guangdong = {‘1.广州‘: guangzhou, ‘2.韶关‘: shaoguan, ‘3.深圳‘: shenzhen} # 省级字典 Provinces = {‘1:贵州‘: guizhou, ‘2:广西‘: guangxi, ‘3:广东‘: guangdong} # 省和市是字典,方便显示名称,区级因为区是第三级,下面不需要再分级,所有用列表 # 显示省级,然后进入循环 for i in Provinces: print(i) while True: # 省级输入循环 num = input(‘Select Provinces print City:‘) # 先判断是否退出 if num == "b": break elif num == ‘q‘: exit() elif num.isdigit() and int(num) > 0 and int(num) < 4: # 判断输入是否有效 # 先获取省级字典所有key,转换成列表,然后根据列表索引找到市级key p_city = list(Provinces.keys())[int(num) - 1] for m in Provinces[p_city]: # 显示市级 print(m) while True: # 市级输入循环 num = input(‘Select City print Region:‘) # 先判断是否退出 if num == "b": # 如果退出市级,显示省级名称 for i in Provinces: print(i) break elif num == ‘q‘: exit() elif num.isdigit() and int(num) > 0 and int(num) < 4: # 判断输入是否有效 # 先获取市级字典所有key,转换成列表,然后根据列表索引找到区级key p2_city = list(Provinces[p_city].keys())[int(num) - 1] for p in Provinces[p_city][p2_city]: # 显示区级 print(p) while True: # 区级输入循环 num = input(‘B:return / Q:quit :‘) if num == "b": for m in Provinces[p_city]: print(m) break elif num == ‘q‘: exit() else: print(‘input error‘) else: print(‘input error‘) else: print(‘input error‘)
原文:http://www.cnblogs.com/xh4528/p/6497753.html