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
值得一提的是,此处利用列表来存储上一次选择后的查询结果很好。