#_author:"yongjia"
#Time : 2019/4/5 10:39
menu = {
'北京': {
'北京市': {
'东城区': {},
},
},
'河北省': {
'石家庄市': {
'鹿泉市': {},
},
},
'天津': {
'天津市': {
'和平区': {},
},
},
}
back_flag = False
exit_flag = False
current_layer = menu # 实现动态循环
parent_layers = [] # 保存所有父级,最后一个元素永远都是父亲级
while True:
for key in current_layer:
print(key)
choice = input(">>>:").strip()
if len(choice) == 0: continue
if choice in current_layer:
parent_layers.append(current_layer) # 在进入下一层之前,把当前层(也就是下层的父级)加入到parent_layers这个列表中
current_layer = current_layer[choice]
elif choice == 'b':
if parent_layers: # 不为空
current_layer = parent_layers.pop() # 减少程序存储的东西 虽然用[-1]也可以,但是会增加内存占用
# 取出列表的最后一个值,因为这个值就是当前层的父级层
else:
print("已经是第一层~")
else:
print("无此项~")