Python练习(第一周):多级目录
需求: 可依次选择进入各子菜单 可从任意一层往回退到上一层 可从任意一层退出程序 所需新知识点:列表、字典
数据结构代码:
menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '老男孩':{}, '北航':{}, }, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东城':{}, }, '上海':{ '闵行':{ "人民广场":{ '炸鸡店':{} } }, '闸北':{ '火车战':{ '携程':{} } }, '浦东':{}, }, '山东':{}, }
代码实现:
current_layer = menu father_layer = [] while True: # 输出目录 show = '\n'.join(current_layer.keys()) print('q:返回,e:退出\n' + show) choice = input('>>>choice:').strip() if choice in current_layer: # 存入上级目录信息 father_layer.append(current_layer) current_layer = current_layer[choice] elif choice == 'e': break elif choice == 'q': # 切入上一级目录 current_layer = father_layer.pop() elif len(choice) == 0: continue else: print('无此项')