Heim  >  Artikel  >  Backend-Entwicklung  >  python三级菜单

python三级菜单

高洛峰
高洛峰Original
2016-10-29 11:36:031367Durchsuche

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

二逼青年版:

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

文艺青年版:

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]

作者:terry
blog:http://www.cnblogs.com/kkterry/
Weibo:http://weibo.com/kkterry
E-mail:doubleginger@163.com
欢迎转载,还请标明出处!多谢多谢!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn