当前位置: 移动技术网 > IT编程>脚本编程>Python > python练习题:多级菜单(dict练习)

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

2018年02月07日  | 移动技术网IT编程  | 我要评论

千极变,八方来财树,法学硕士和法律硕士的区别

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]#下一级节点变为当前节点

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网