欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python练习题:多级菜单(dict练习)

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



current_layer = menu # 存放当前节点
pre_layer=[] #存放前面的节点数据

while True:
    for i in current_layer:
        print(i)
    user_opt = input(">>").strip()
    if user_opt == None:
        continue
    elif user_opt == "q":
        exit()
    elif user_opt == "b":
        if current_layer == menu:#若当前节点已是最顶层节点,则不回退
            continue
        else:
            current_layer = pre_layer.pop()#回退一级,上一级节点变成当前节点
    elif user_opt in current_layer:
        pre_layer.append(current_layer)#前进一级,当前节点变为上一级节点
        current_layer = current_layer[user_opt]#下一级节点变为当前节点

 

上一篇: GCD 使用说明

下一篇: transition