python三级菜单

高洛峰
高洛峰 原创
2016-10-29 11:36:03 1069浏览
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
欢迎转载,还请标明出处!多谢多谢!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。