三级菜单

 1 menu = {
 2     '北京':{
 3         '海淀':{
 4             '五道口':{
 5                 'soho':{},
 6                 '网易':{},
 7                 'google':{}
 8             },
 9             '中关村':{
10                 '爱奇艺':{},
11                 '汽车之家':{},
12                 'youku':{},
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 tag=True
45 while tag:
46     while tag:
47         for i in menu.keys():
48             print(i)
49         input_choice_first = input("第一层(输入q,退出程序):").strip()
50         while tag:
51             if input_choice_first == 'q':
52                 tag=False
53                 continue
54             if input_choice_first in menu.keys():
55                 data1=menu.get(input_choice_first)
56                 for ii in data1.keys():
57                     print(ii)
58                 input_choice_second = input("第二层(返回上一层输入b,退出程序输入q):").strip()
59                 if input_choice_second == 'q':
60                     tag = False
61                     continue
62                 if input_choice_second == 'b':
63                     break
64                 while tag:
65                     if input_choice_second in data1.keys():
66                         data2=data1.get(input_choice_second)
67                         for iii in data2.keys():
68                             print(iii)
69                         input_choice_third = input("第三层(返回上一层输入b,退出输入q):").strip()
70                         if input_choice_third == 'q':
71                             tag = False
72                             continue
73                         if input_choice_third == 'b':
74                             break
75                         while tag:
76                             if input_choice_third in data2.keys():
77                                 data3 = data2.get(input_choice_third)
78                                 for iiii in data3.keys():
79                                     print(iiii)
80                                 input_choice_four = input("第四层(返回上一层输入b,退出输入q):").strip()
81                                 if input_choice_four == 'q':
82                                     tag = False
83                                     continue
84                                 if input_choice_four == 'b':
85                                     break
原文地址:https://www.cnblogs.com/yspass/p/9261386.html