day2-三级菜单---改良版

再也不想看之前的low代码了。。。确实~~~~ 代码量简化,high了

#!/usr/bin/env python

data = {
'北京': {
"昌平": {
"望京1": {"奔驰", "默默"},
"国贸2": ("cicc", "HP"),
},
"朝阳": {
"望京1": {"奔驰", "默默"},
"国贸1": ("cicc", "HP"),
},
},
'山东': {
"昌平": {
"望京1": {"奔驰", "默默"},
"国贸2": ("cicc", "HP"),
},
"朝阳": {
"望京2": {"奔驰", "默默"},
"国贸2": ("cicc", "HP"),
},
},
'广东': {
"昌平": {
"望京1": {"奔驰", "默默"},
"国贸2": ("cicc", "HP"),
},
"朝阳": {
"望京3": {"奔驰", "默默"},
"国贸4": ("cicc", "HP"),
},
},
}
current_layer = data
layerlist = list()
while True:
for i in current_layer: #去重复,定义一个打印,变量是current_layer
print(i)
choice = input("选择进入,按b返回,按q退出>>:")
if choice in current_layer:
try: #防止读取到最后一层报错
layerlist.append(current_layer)
current_layer = current_layer[choice]
except TypeError:
pass # 如果最后一层,则保持当层不变
continue
elif choice.lower() == 'b':
try:#防止回退到最开始一层报错
current_layer = layerlist.pop()
except IndexError:
pass#如果第一层,则保持当层不变
continue
elif choice.lower() == 'q':
exit("bye~~")

猜你喜欢

转载自www.cnblogs.com/a10086/p/9236671.html