码迷,mamicode.com
首页 > 编程语言 > 详细

Python字典实现三级菜单

时间:2016-08-24 17:11:38      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

 

 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字典实现三级菜单

标签:

原文地址:http://www.cnblogs.com/pyramid1001/p/5803294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!