python三级菜单的实现
需求
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
所需新知识点:列表、字典
代码实现
# _*_ coding:_utf-8 _*_
"""
需求:
可依次选择进入各子菜单
可从任意一层往回退到上一层
可从任意一层退出程序
"""
menu = {
'北京': {
'海淀': {
'五道口': {
'soho': {},
'网易': {},
'google': {}
},
'中关村': {
'爱奇艺': {},
'汽车之家': {},
'youku': {},
},
'上地': {
'百度': {},
},
},
'昌平': {
'沙河': {
'北京邮电大学': {},
'北京航空航天大学': {},
},
'天通苑': {},
'回龙观': {},
},
'朝阳': {},
'东城': {},
},
'上海': {
'闵行': {
"人民广场": {
'炸鸡店': {}
}
},
'闸北': {
'火车站': {
'携程': {}
}
},
'浦东': {},
},
'山东': {},
}
count = menu # 将字典赋一个动态的值
count_1 = [] # 创建一个用来处理返回选项的列表
while True:
for a in count: # 把动态值赋给a
print(a)
name = input("请输入要查询的地点(退出请输入(q),返回上一级请输入(u)): ").lower().strip() # 换成小写并去除开头和末尾的空格
if name in count: # 在字典中搜索输入值
count_1.append(count) # 找到值后把动态值加到列表count_1里面
count = count[name] # 将下级列表重新赋值给count
elif name == "u": # 当输入“u“时将返回上一层
if count_1:
count = count_1.pop() # 把列表最后面加的值删掉,并重新赋值给count。pop会返回被删除的值
else:
print("已经到顶层了!")
elif name == "q": # 当输入“q”时将退出
break
else:
print("您输入错误啦,请您重新输入!")
https://blog.csdn.net/Hardworking666
本人主要使用CSDN,地址献上,请多多指教。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程