Home  >  Article  >  Backend Development  >  python third-level menu

python third-level menu

高洛峰
高洛峰Original
2016-10-29 11:36:031403browse

menu = {
    '北京':{
        '海淀':{
            '五道口':{
                'soho':{},
                '网易':{},
                'google':{}
            },
            '中关村':{
                '爱奇艺':{},
                '汽车之家':{},
                'youku':{},
            },
            '上地':{
                '百度':{},
            },
        },
        '昌平':{
            '沙河':{
                '老男孩':{},
                '北航':{},
            },
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{},
        '东城':{},
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车战':{
                '携程':{}
            }
        },
        '浦东':{},
    },
    '山东':{},
}

Erbi youth version:

while True:
    for key in menu:
        print(key)
    choice = input(">>>:")
    if len(choice) == 0: continue
    if choice not in menu:continue
    while True:
        for key2 in menu[choice]:
            print(key2)
        choice2 = input(">>>:")
        if len(choice2) == 0: continue
        if choice2 == "b": break
        if choice2 not in menu[choice]: continue
        while True:
            for key3 in menu[choice][choice2]:
                print(key3)
            choice3 = input(">>>:")
            if len(choice3) == 0: continue
            if choice3 == "b": break
            if choice3 not in menu[choice][choice2]: continue
            while True:
                for key4 in menu[choice][choice2][choice3]:
                    print(key4)
                choice4 = input(">>>:")
                if len(choice4) == 0: continue
                if choice4 == "b": break
                if choice4 not in menu[choice][choice2][choice3]: continue

Literary youth version:

current_level = menu
last_level = []
while True:
    for key in current_level:
        print(key)
    choice = input(">>>:")
    if len(choice) == 0:continue
    if choice == "b":
        if not last_level : break
        current_level = last_level[-1]
        last_level.pop()
    if choice not in current_level:continue
    last_level.append(current_level)
    current_level = current_level[choice]

Author: terry
blog: http://www.cnblogs.com/kkterry/
Weibo: http://weibo.com/kkterry
E -mail: doubleginger@163.com
Reprinting is welcome, and please indicate the source! Thank you very much!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Python stringNext article:Python string