(转)Python字典实现三级菜单
Posted liujiacai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(转)Python字典实现三级菜单相关的知识,希望对你有一定的参考价值。
Python字典实现三级菜单
原文:https://www.cnblogs.com/pyramid1001/p/5803294.html
1 ################################################ 2 # Task Name: 三级菜单 # 3 # Description:打印省、市、县三级菜单 # 4 # 可返回上一级 # 5 # 可随时退出程序 # 6 #----------------------------------------------# 7 # Author:Oliver Lee # 8 ################################################ 9 10 zone = { 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 province_list = list(zone.keys()) #省列表 38 # flag = False 39 # flag1 = False 40 while True: 41 print(" 省 ".center(50,\'*\')) 42 for i in province_list: 43 print(province_list.index(i)+1,i) #打印省列表 44 pro_id = input("请输入省编号,或输入q(quit)退出:") #省ID 45 if pro_id.isdigit(): 46 pro_id = int(pro_id) 47 if pro_id > 0 and pro_id <= len(province_list): 48 pro_name = province_list[pro_id-1] #根据省ID获取省名称 49 city_list = list(zone[pro_name].keys()) #根据省名称获取对应的值,从新字典中获取key,即市列表 50 while True: 51 print(" 市 ".center(50,\'*\')) 52 for v in city_list: 53 print(city_list.index(v)+1,v) #打印市列表 54 city_id = input("请输入市编号,或输入b(back)返回上级菜单,或输入q(quit)退出:") 55 if city_id.isdigit(): 56 city_id = int(city_id) 57 if city_id > 0 and city_id <= len(city_list): 58 city_name = city_list[city_id-1] #根据市ID获取市名称 59 town_list = zone[pro_name][city_name] #根据省名称获取对应的值,从新字典中获取值,即县列表 60 while True: 61 print(" 县 ".center(50,\'*\')) 62 for j in town_list: 63 print(town_list.index(j)+1,j) 64 back_or_quit = input("输入b(back)返回上级菜单,或输入q(quit)退出:") 65 if back_or_quit == \'b\': 66 break #终止此层while循环,跳转到上一层While。 67 elif back_or_quit == \'q\': 68 # flag1 = True 69 # break #根据标志位结束程序。 70 exit() 71 else: 72 print("输入非法!") 73 else: 74 print("编号%d不存在。"%city_id) 75 elif city_id == \'b\': 76 break 77 elif city_id == \'q\': 78 # flag = True 79 # break 80 exit() 81 else: 82 print("输入非法!") 83 # if flag1: 84 # break 85 else: 86 print("编号%d不存在。"%pro_id) 87 elif pro_id == \'q\': 88 break 89 else: 90 print("输入非法!") 91 # if flag or flag1: 92 # break
以上是关于(转)Python字典实现三级菜单的主要内容,如果未能解决你的问题,请参考以下文章