15、三级菜单Demo——改进版
menu = {
'安徽':{
'合肥':{'瑶海','庐阳','蜀山'},
'淮南':{'田家庵','潘集','凤台'},
'阜阳':{'颍上','临泉','阜南'},
},
'上海':{
'浦东':{'陆家嘴','东方明珠','世纪大道'},
'杨浦':{'五角场','复旦大学','新江湾城'},
'黄埔':{'外滩','人民广场','城隍庙'},
},
'北京':{
'朝阳':{'国贸','望京','三里屯'},
'海淀':{'五道口','中关村','清华园'},
'昌平':{'沙河','天通苑','回龙观'},
}
}
current_layer = menu
parent_layer = []
while True:
for key in current_layer:
print(key)
print('current_layer =',current_layer) # 打印当前层
print('parent_layer =',parent_layer) #打印parent_layer中的元素
choice = input('>>').strip()
if len(choice) == 0: continue
if choice in current_layer:
parent_layer .append(current_layer)#在parent_layer列表中加入当前层,也就是是下一层的父亲层(上一层)
current_layer = current_layer[choice]
elif choice == 'b':
if parent_layer:
current_layer = parent_layer.pop()#删除parent_layer列表中的最后一个元素,便可返回到上一层
elif choice == 'Q':
break
else:
print("您输入的有误!")