ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

三级菜单-递归和堆栈的方法写

2019-10-20 18:04:04  阅读:255  来源: 互联网

标签:elif 菜单 threeLM 递归 menu dic key 堆栈 input



menu = {
'北京': {
'朝阳': {
'国贸': {},
'CICC': {},
'HP': {},
'渣打银行': {},
'CCTV': {},
},
'望京': {
'陌陌': {},
'奔驰': {},
'360': {},
},
'三里屯': {
'优衣库': {},
'apple': {},
},
'昌平': {
'沙河': {
'老男孩': {},
'阿泰包子': {},
},
'天通苑': {
'链家': {},
'我爱我家': {},
},
'回龙观': {},
},
'海淀': {
'五道口': {
'谷歌': {},
'网易': {},
'sohu': {},
'快手': {},
},
'中关村': {
'youku': {},
'Iqiyi': {},
'汽车之家': {},
'新东方': {},
'QQ': {},
},

},
},
'上海': {
'浦东': {
'陆家嘴': {
'CICC': {},
'高盛': {},
'摩根': {},
},
},
'闵行': {},
'静安': {},
},
'山东': {
'济南': {},
'德州': {
'乐陵': {
'丁务镇': {},
'城区': {},
},
'平原': {},
},
'青岛': {},
},
}
#
def threeLM(dic):
while True:
for k in dic:
print(k)
key =input('input>>>').strip()
if key =='b' or key=='q':
return key
elif key in dic.keys() and dic[key]:
ret = threeLM(dic[key])
if ret =='q':
return 'q'

threeLM(menu)

l =[menu]
while l:
for key in l[-1]:
print(key)
k =input('input>>').strip()
if k in l[-1].keys() and l[-1][k]:
l.append(l[-1][k])
elif k =='b':l.pop()
elif k =='q':break
else:continue


标签:elif,菜单,threeLM,递归,menu,dic,key,堆栈,input
来源: https://www.cnblogs.com/jmc218/p/11708326.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有