路飞学城14天集训营作业2—三级菜单
数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '老男孩':{}, '北航':{}, }, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ "人民广场":{ '炸鸡店':{} } }, '闸北':{ '火车战':{ '携程':{} } }, '浦东':{}, }, '山东':{}, } 需求: 可依次选择进入各子菜单 可从任意一层往回退到上一层 可从任意一层退出程序 所需新知识点:列表、字典
1 # -*- coding:utf-8 -*- 2 # author:heimu 3 ''' 4 需求: 5 可依次选择进入各子菜单 6 可从任意一层往回退到上一层 7 可从任意一层退出程序 8 所需新知识点:列表、字典 9 10 ''' 11 menu = { 12 '北京':{ 13 '海淀':{ 14 '五道口':{ 15 'soho':{}, 16 '网易':{}, 17 'google':{} 18 }, 19 '中关村':{ 20 '爱奇艺':{}, 21 '汽车之家':{}, 22 'youku':{}, 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 '携程':{} 48 } 49 }, 50 '浦东':{}, 51 }, 52 '山东':{}, 53 } 54 55 update_menu = menu # 定义临时保存菜单的变量 56 menu_list = [] # 定义存储每次菜单更新的列表 57 while True: 58 print('-------- ' + str(list(update_menu.keys())) + '---------') 59 input_choose = input("【b(B)返回,q(Q)退出】请输入你的选择:").strip() 60 if input_choose in update_menu: 61 menu_list.append(update_menu) # 把整个菜单(字典)当做一个列表元素存储 62 update_menu = update_menu[input_choose] # 更新菜单 63 elif input_choose.lower() == 'b': 64 if menu_list: # 如果列表不为空 65 update_menu = menu_list.pop() # 将列表的最后一个元素(即上一个菜单状态)弹出 66 elif input_choose.lower() == 'q': 67 break 68 else: 69 print("输入错误,请重新输入")