三级菜单

'''
#作业一: 三级菜单
#要求:
打印省、市、县三级菜单
可返回上一级
可随时退出程序
'''
menu = {
    '山东':{
        '济南市':{
                       '历下区': {},
                       '市中区': {},
                       '槐荫区': {},},
        '青岛市':{
                       '市南区': {},
                       '市北区': {},
                       '四方区': {},},
        '淄博市':{
                       '淄川区': {},
                       '张店区': {},
                       '博山区': {},},
        '枣庄市':{
                       '市中区': {},
                       '薛城区': {},
                       '峄城区': {},},
            },
    '河北':{
        '廊坊':{
                    '永清':{},
                    '安次区':{},
                    '固安县':{},
                    '香河县':{},

                        },
        '石家庄':{
                    '长安区':{},
                    '桥东区':{},
                    '桥西区':{},
                    '新华区':{},
                    '郊区':{},
                        },
        '唐山市':{
                    '路南区':{},
                    '路北区':{},
                    '古冶区':{},
                    '开平区':{},
                        },
        '秦皇岛市':{
                    '海港区':{},
                    '山海关区':{},
                    '北戴河区':{},
                    '昌黎县':{},
                        },
        '邯郸市':{
                    '邯山区':{},
                    '丛台区':{},
                    '复兴区':{},
                    '邯郸县':{},
                        },
            },
}

exit_flag = False
current_layer = menu
layers = [menu]


while not exit_flag:
for k in current_layer:
print(k)
choice = input(">>:").strip()
if choice =="q":
break
elif choice == "b":
current_layer = layers[-1]
print("change to laster", current_layer)
layers.pop()
elif choice not in current_layer : continue
else:
layers.append(current_layer)
current_layer = current_layer[choice]

 

posted @ 2018-03-19 10:47  rjm123456  阅读(173)  评论(0编辑  收藏  举报