Python实现三级菜单

 1 # -*- coding:utf-8 -*-
 2 # __author__ : poetl
 3 # date: 2017/12/27
 4 
 5 # 字典特点: 无序, 键唯一
 6 
 7 
 8 zone ={
 9      '山东' : {
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 back_flag = False
38 exit_flag = False
39 while not back_flag and not exit_flag:
40     for key in zone:
41         print(key)
42     choice = input("1>>:").strip()
43     if choice == 'q':
44         exit_flag = True
45     if choice in zone:
46         while not back_flag and not exit_flag: # 让程序停在第二层
47             for key2 in zone[choice]:
48                 print(key2)
49             choice2 = input("2>>:").strip()
50             if choice2 == 'b':
51                 back_flag = True
52             if choice2 == 'q':
53                 exit_flag = True
54             if choice2 in zone[choice]:
55                 while not back_flag and not exit_flag(): # 程序停在第三层
56                     key3 = zone[choice][choice2]
57                     print(key3)
58                     choice3 = input("3>>:").strip()
59                     print("last level")
60                     if choice3 == 'b':
61                         back_flag = True
62                     if choice3 == 'q':
63                        exit_flag = True
64                 else:
65                     back_flag = False
66         else:
67             back_flag = False

 

posted @ 2017-12-27 11:54  poetL  阅读(119)  评论(0编辑  收藏  举报