码迷,mamicode.com
首页 > 其他好文 > 详细

三级菜单

时间:2018-06-23 22:42:04      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:保存   实现   else   爱奇艺   用户   for   rip   打印   current   

程序: 三级菜单

要求: 

  1. 打印省、市、县三级菜单
  2. 可返回上一级
  3. 可随时退出程序



menu = {
‘北京‘:{
‘海淀‘:{
‘五道口‘:{
‘soho‘:{},
‘网易‘:{},
‘google‘:{}
},
‘中关村‘:{
‘爱奇艺‘:{},
‘汽车之家‘:{},
‘youku‘:{},
},
‘上地‘:{
‘百度‘:{},
},
},
‘昌平‘:{
‘沙河‘:{
‘老男孩‘:{},
‘北航‘:{},
},
‘天通苑‘:{},
‘回龙观‘:{},
},
‘朝阳‘:{},
‘东城‘:{},
},
‘上海‘:{
‘闵行‘:{
"人民广场":{
‘炸鸡店‘:{}
}
},
‘闸北‘:{
‘火车战‘:{
‘携程‘:{}
}
},
‘浦东‘:{},
},
‘山东‘:{},
}
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) #在进入下一层之前,把当前层(也就是下一层父级)
#追加到列表中,下一次loop,当用户选择b的时候,就可以直接取列表的最后一个值出来就Ok了

current_layer = current_layer[choice]#改成了子层
elif choice == "b":
if parent_layers:
current_layer = parent_layers.pop()#取出列表的最后一个值,因为它就是当前层的父级
else:
print("无此项")

三级菜单

标签:保存   实现   else   爱奇艺   用户   for   rip   打印   current   

原文地址:https://www.cnblogs.com/fy414371/p/9218476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!