ホームページ  >  記事  >  バックエンド開発  >  Pythonの第3レベルメニュー

Pythonの第3レベルメニュー

高洛峰
高洛峰オリジナル
2016-10-29 11:36:031403ブラウズ

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
ブログ: http://www.cnblogs.com/kkterry/
Weibo: http://weibo.com/kkterry
E - mail: doubleginger@163.com
転載大歓迎、出典の明記をお願いします!どうもありがとうございます!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Python 文字列次の記事:Python 文字列