Python学习之三级菜单

Python经典练习题 - 三级菜单

需求:

可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序

示例代码:

 1 # -*- coding: utf-8 -*- 
 2 
 3 menu = {
 4     '北京':{
 5         '海淀':{
 6             '五道口':{
 7                 'soho':{},
 8                 '网易':{},
 9                 'google':{}
10             },
11             '中关村':{
12                 '爱奇艺':{},
13                 '汽车之家':{},
14                 'youku':{},
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     '山东':{},
45 }
46 
47 loop = menu  #定义一个临时字典loop
48 n = []      #定义一个空列表来存储上一次选择后的查询结果
49 while True:
50     for i in enumerate(loop):
51         print(i[1])
52     select = input("请选择:").strip()
53     if select in loop:      #如果输入信息在临时字典loop中
54         n.append(loop)
55         loop = loop[select]
56     elif select == 'b':
57         if n:
58             loop = n.pop()
59         else:
60             print("----已经到顶啦!----")
61     elif select == 'q':
62         break
63     else:
64         print("----输入错误,请重试!----")
65         continue

值得一提的是,此处利用列表来存储上一次选择后的查询结果很好。

posted @ 2018-04-11 20:42  人道酬成  阅读(138)  评论(0编辑  收藏  举报