三级菜单

menu = {
    '北京':{
        '海淀':{
            '五道口':{
                'soho':{},
                '网易':{},
                'google':{}
            },
            '中关村':{
                '爱奇艺':{},
                '汽车之家':{},
                'youku':{},
            },
            '上地':{
                '百度':{},
            },
        },
        '昌平':{
            '沙河':{
                '老男孩':{},
                '北航':{},
            },
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{},
        '东城':{},
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车战':{
                '携程':{}
            }
        },
        '浦东':{},
    },
    '山东':{},
}
menu_list = [ menu]
temp = menu  #将dict赋值给temp
while True:
    for i in temp:  #先遍历第一轮的val
        print(i)       #打印第一轮的val
    choico = input('>>')
    if len(choico) == '':continue    #判断是否字典的key 不是的话就直接返回
    if choico in temp:     #是否字典里面的内容
        menu_list.append(temp)    #添加当前层到列表
        temp = temp[choico]      # 循环的时候,一直是寻找你输入的key值的val
    elif choico.lower() == 'b':      #判断是b
        if menu_list:        
            temp = menu_list[-1]     #获取你menu_list中最后一个值,
            menu_list.pop()              #删除menu_list中最后一个值
    elif choico.lower() == 'p':
        print('-------end----------')
        break
posted @ 2017-03-31 19:19  beiguuu  阅读(130)  评论(0编辑  收藏  举报