python 三级菜单

#_author:"WangBin"
#date:2018/4/26




menu = {
            '辽宁省':{'沈阳市':['沈河区','和平区','浑南区','大东区','铁西区','皇姑区'],
                     '大连市':['中山区','沙河口区','甘井子区','金州区','西岗区','高新区'],
                     '鞍山市':['铁东区','铁西区','立山区','千山区']
                    },
            '浙江省':{'杭州市': ['滨江区', '上城区', '下城区', '萧山区', '江干区', '余杭区'],
                     '宁波市': ['江东区', '江北区', '镇海区', '北仑区','高新区'],
                     '温州市': ['鹿城区', '龙湾区', '洞头区', '瓯海区']
                    }

        }

current_layer = menu   #分层存储菜单信息
store_layer = []       #用来存储上一级菜单信息

while True:
    for key in current_layer:
        print(key)
    choice = input('请输入:').strip()   #去掉空字符
    if len(choice) == 0: continue       #如果为空则执行下一循环
    if choice in current_layer:
        store_layer.append(current_layer)
        current_layer = current_layer[choice]
    elif choice == 'b':                #输入b时返回上一级菜单
        if store_layer:
            current_layer = store_layer.pop()
    else:
        print('无此项,请重新输入')

 

posted @ 2018-04-27 12:42  王马扎  阅读(251)  评论(0编辑  收藏  举报