三级菜单精简版

#_*_coding:utf-8_*_
#作者:王佃元
#日期:2019/12/14
menu = {
'上海':{
'闵行区':{
'老闵行':{
'紫竹科技园':{},
'上海交大':{},
},
'新闵行':{
'浦江镇':{},
'漕河泾':{},
},
},
'黄浦区':{
'外滩':{
'东方明珠':{},
'南京步行街':{},
'豫园':{},
},
'建筑':{
'人民广场':{},
'大剧院':{},
},
},
},
'深圳':{
'福田区':{
'华强北':{
'华强电子城':{},
'赛格电子城':{},
},
'步行街':{
'东门步行街':{},
'荔枝公园':{},
},
},
'南山区':{
'科技园':{
'南山科技园':{},
'西丽科技园':{},
},
'手机园':{
'酷派科技园':{},
'oppo科技园':{},
},
},
},
}
msg = '''*******请输入地区*******
输入b返回上一层
输入q退出
***********************'''
current_layer = menu
parent_layers = []
user_enter_quit = False
while not user_enter_quit:
print(msg)
for key in current_layer:
print(key)
user_enter = input("please input :")
if user_enter in current_layer:
parent_layers.append(current_layer) #每一次的当前层对应字典追加至列表中
current_layer = current_layer[user_enter] #将下一层字典赋给当前层
elif user_enter.lower() == 'b' and parent_layers != []:
current_layer = parent_layers.pop() #默认删除列表中最后一个元素,并返回该元素值。使用pop不会增加列表长度
elif user_enter.lower() == 'q':
user_enter_quit = True
else:
print('please enter again!')

猜你喜欢

转载自www.cnblogs.com/python-beginner/p/12038003.html