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('无此项')
View Code

 

posted @ 2018-01-15 18:25  李永2018  阅读(102)  评论(0编辑  收藏  举报