14、Demo
实现一个三级菜单
需求:
(1)可以一层一层的进入到所有层
(2)可以在每层返回到上一层
(3)可以在任意层退出主菜单
menu = {
'安徽':{
'合肥':{
'庐阳',
'蜀山',
'瑶海',
},
'淮南':{
'田家庵',
'潘集',
'凤台',
},
'阜阳':{
'颍上',
'阜南',
'临泉',
}
},
'北京':{
'朝阳':{
'国贸',
'望京',
'三里屯',
},
'海淀':{
'五道口',
'中关村',
'中关村2',
},
'昌平':{
'沙河',
'天通苑',
'回龙观',
}
},
'上海':{
'浦东':{
'外滩',
'陆家嘴',
'世纪大道',
},
'静安':{
'静安寺',
'南京西路',
'人民广场',
},
'杨浦':{
'五角场',
'新江湾城',
'复旦大学',
}
},
}
Back_flag = True
Exit_flag = True
while Back_flag and Exit_flag:
for key1 in menu:
print(key1)
choice1 = input("请输入您要查看的省份:")
if choice1 == 'Q':
Exit_flag = False
if choice1 in menu:
while Back_flag and Exit_flag:
for key2 in menu[choice1]:
print(key2)#打印城市
choice2 = input("请输入您要查看的城市或返回上一级【b】")
if choice2 == 'b':
Back_flag = False
if choice2 == 'Q':
Exit_flag = False
if choice2 in menu[choice1]:
while Back_flag and Exit_flag:
for key3 in menu[choice1][choice2]:
print(key3)#打印城区
print("这是最后一层了")
choice3 = input(">>")
if choice3 == 'b':
Back_flag = False
if choice3 == "Q":
Exit_flag = False
else:
Back_flag = True
else:
Back_flag = True