哈哈哈哈哈,轻轻又松松。
1 # Author:Johnson 2 ‘‘‘ 3 三级菜单 4 5 a.打印省、市、县3级菜单 6 b.允许用户依次进入任何一级 7 c.允许用户在任意一级回退到上一级,退出程序 8 ‘‘‘ 9 sf={ 10 ‘北京市‘:{ 11 ‘北京市‘:[‘东城区‘,‘西城区‘,‘崇文区‘,‘宣武区‘,‘朝阳区‘,‘海定区‘,‘丰台区‘,‘石景山区‘,‘门头沟区‘, 12 ‘房山区‘,‘通州区‘,‘顺义区‘,‘昌平区‘,‘大兴区‘,‘怀柔区‘,‘平谷区‘,‘延庆县‘,‘密云县‘] 13 }, 14 ‘上海市‘:{ 15 ‘上海市‘:[‘徐汇区‘,‘长宁区‘,‘普陀区‘,‘虹口区‘,‘杨浦区‘,‘黄浦区‘,‘卢湾区‘,‘静安区‘,‘宝山区‘,‘闵行区‘, 16 ‘嘉定区‘,‘金山区‘,‘松江区‘,‘青浦区‘,‘奉贤区‘,‘南汇区‘,‘浦东新区‘,‘崇明区‘] 17 }, 18 ‘天津市‘:{ 19 ‘天津市‘:[‘和平区‘,‘河北区‘,‘河西区‘,‘河东区‘,‘红桥区‘,‘南开区‘,‘津南区‘,‘西青区‘,‘北辰区‘,‘东丽区‘, 20 ‘武清区‘,‘宝坻区‘,‘大港区‘,‘塘沽区‘,‘汉沽区‘,‘静海区‘,‘宁河区‘,‘蓟州区‘] 21 }, 22 ‘重庆市‘:{ 23 ‘重庆市‘:[‘万州区‘,‘涪陵区‘,‘渝中区‘,‘沙坪坝区‘,‘九龙坡区‘,‘大渡口区‘,‘江北区‘,‘南岸区‘,‘北碚区‘, 24 ‘渝北区‘,‘黔江区‘,‘长寿区‘,‘江津区‘,‘合川区‘,‘永川区‘,‘南川区‘,‘綦江区‘,‘铜梁区‘,‘大足区‘, 25 ‘荣昌区‘,‘壁山区‘,‘开州区‘,‘梁平区‘,‘武隆区‘,‘丰都县‘,‘忠县‘,‘云阳县‘,‘奉节县‘,‘潼南县‘, 26 ‘巫山县‘,‘巫溪县‘,‘垫江县‘,‘城口县‘,‘石柱土家族自治县‘,‘秀山土家族功族自治县‘, 27 ‘酉阳土家族苗族自治县‘,‘彭水苗族土家族自治县‘] 28 }, 29 ‘河北省‘:{ 30 ‘石家庄市‘:[‘长安区‘,‘桥东区‘,‘桥西区‘,‘新华区‘,‘井陉矿区‘,‘裕华区‘,‘辛集市‘,‘藁城市‘,‘晋州市‘, 31 ‘新乐市‘,‘鹿泉市‘,‘井陉县‘,‘正定县‘,‘栾城县‘,‘行唐县‘,‘灵寿县‘,‘高邑县‘,‘深泽县‘,‘赞皇县‘, 32 ‘无极县‘,‘平山县‘,‘元氏县‘,‘赵县‘], 33 ‘唐山市‘:[‘路北区‘,‘路南区‘,‘古冶区‘,‘开平区‘,‘丰南区‘,‘丰润区‘,‘尊化市‘,‘迁安市‘,‘滦南县‘,‘东亭县‘, 34 ‘迁西县‘,‘玉田县‘,‘唐海县‘] 35 }, 36 ‘浙江省‘:{ 37 ‘杭州市‘:[‘拱墅区‘,‘上城区‘,‘下城区‘,‘江干区‘,‘西湖区‘,‘滨江区‘,‘萧山区‘,‘余杭区‘,‘建德市‘,‘富阳市‘, 38 ‘临安市‘,‘桐庐县‘,‘淳安县‘], 39 ‘宁波市‘:[‘海曙区‘,‘江东区‘,‘江北区‘,‘北仑区‘,‘镇海区‘,‘鄞州区‘,‘余姚市‘,‘慈溪市‘,‘奉化市‘,‘象山县‘, 40 ‘宁海县‘], 41 ‘温州市‘:[‘鹿城区‘,‘龙湾区‘,‘瓯海区‘,‘瑞安市‘,‘乐清市‘,‘洞头县‘,‘永嘉县‘,‘平阳县‘,‘苍南县‘,‘文成县‘, 42 ‘泰顺县‘], 43 ‘嘉兴市‘:[‘南湖区‘,‘秀洲区‘,‘海宁市‘,‘平湖市‘,‘桐乡市‘,‘嘉善县‘,‘海盐县‘], 44 ‘湖州市‘:[‘吴兴区‘,‘南浔区‘,‘德清县‘,‘长兴县‘,‘安吉县‘], 45 ‘绍兴市‘:[‘越城区‘,‘诸暨市‘,‘上虞市‘,‘嵊州市‘,‘绍兴县‘,‘新昌县‘] 46 } 47 } 48 49 my_list=list(sf.keys()) 50 my_sf = ‘‘ 51 my_s=‘‘ 52 while True: 53 #判断当前处于哪层菜单 54 if my_sf==‘‘: 55 print(my_list) #打印省列表 56 ip_str = input("输入省份或输入Q退出程序。") 57 elif my_sf!=‘‘ and my_s==‘‘: 58 print(list(sf[my_sf])) #打印市列表 59 ip_str = input("输入市或输入Q退出程序,输入B返回上一级菜单。") 60 for i in range(len(list(sf[my_sf]))): 61 if ip_str==list(sf[my_sf])[i]: 62 my_s=list(sf[my_sf])[i] 63 if my_s==‘‘: 64 print("所输市不在列表中,请重新输入。") 65 elif my_sf!=‘‘ and my_s!=‘‘: 66 print(sf[my_sf][my_s]) #打印县列表 67 ip_str=input("输入Q退出程序,输入B返回上一级菜单。") 68 69 #以下为判断输入 70 if ip_str==‘Q‘: 71 exit() 72 else: 73 for i in range(len(my_list)): 74 if ip_str==my_list[i]: 75 my_sf=my_list[i] 76 if my_sf==‘‘: 77 print("所输省份不在列表中,请重新输入。") 78 if ip_str==‘B‘ and my_s!=‘‘: 79 my_s=‘‘ 80 elif ip_str==‘B‘: 81 my_sf=‘‘