python之02数据类型学习-作业练习2
引用博客地址:http://www.cnblogs.com/yuanchenqi/articles/5782764.html
作业描述:
省 市 县的三层数据通过字典 元祖 列表 保存起来
执行程序后 首先看到省级菜单
1.2,3
打印后选择哪个省
选择1后 应该把省里的市打印出来
然后用户选择某个市
把市打出来
最少要有返回上一级
除了第一级返回直接退出
看到第二级可以返回到第一级
无论在哪一层都可以退出这个程序
退出程序不要用exit,用break
用标志位来做退出
# Author:Administrator # date: 2019/1/24 address = [ {(100, '上海市'): [{(1001, '上海市'): [(100101, '崇明区'), (100102, '松江区'), (100103, '徐汇区'), (100104, '静安区')]}]}, {(101, '河南省'): [{(1011, '周口市'): [(101101, '太康县'), (101102, '淮阳县'), (101103, '鹿邑县')]}, {(1012, '郑州市'): [(101201, '中原区'), (101202, '上街区'), (101203, '新郑市')]}]}, {(102, '江苏省'): [{(1021, '南京市'): [(102101, '玄武区'), (102102, '六合区'), (102103, '雨花台区')]}, {(1022, '无锡市'): [(102201, '宜兴市'), (102202, '锡山区'), (102203, '惠山区')]}, {(1023, '徐州市'): [(102301, '新沂市'), (102302, '睢宁县'), (102303, '铜山区')]}]} ] exit_flag = False # print(len(address)) while True and not exit_flag: province_keys_code_list = [] province_keys_list = [] for item_0 in address: for province_key in item_0: province_keys_code_list.append(province_key[0]) province_keys_list.append(province_key) print("省份编号:{province_code},省份名称:{province_name}".format(province_code=province_key[0], province_name=province_key[1])) province_code_input = input("请输入想要查看的省份编号或输入q退出:").strip() if province_code_input == "q": exit_flag = True break elif province_code_input.isdigit() and int(province_code_input) in province_keys_code_list: province_code_input = int(province_code_input) province_index = province_keys_code_list.index(province_code_input) # province_info = address[province_index] # 找到省份条目完整信息 province_key_info = province_keys_list[province_index] city_list_info = address[province_index][province_key_info] # 找到城市列表完整信息 city_keys_code_list = [] city_keys_list = [] while True and not exit_flag: for city_item in city_list_info: for city_key in city_item: city_keys_code_list.append(city_key[0]) city_keys_list.append(city_key) print("城市编号:{city_code},城市名称:{city_name}".format(city_code=city_key[0], city_name=city_key[1])) city_code_input = input("请输入想要查看的城市编号或输入q退出或输入back返回上一级:").strip().lower() if city_code_input == "q": exit_flag = True break elif city_code_input == "back": break elif city_code_input.isdigit() and int(city_code_input) in city_keys_code_list: while True: city_code_input = int(city_code_input) city_index = city_keys_code_list.index(city_code_input) city_key_info = city_keys_list[city_index] area_list_info = city_list_info[city_index][city_key_info] for area_item in area_list_info: print("地区编号:{are_code},地区名称:{area_name}".format(are_code=area_item[0], area_name=area_item[1])) area_code_input = input("请输入想要查看的城市编号或输入q退出或输入back返回上一级:").strip().lower() if area_code_input == "back": break elif area_code_input == "q": exit_flag = True break else: print("输入有误,请重新输入") else: print("输入无法匹配") else: print("输入无法匹配。") if exit_flag: print("您已退出。")

浙公网安备 33010602011771号