三级菜单
''' #作业一: 三级菜单 #要求: 打印省、市、县三级菜单 可返回上一级 可随时退出程序 ''' 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]