三级菜单
Posted bimg1999
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三级菜单相关的知识,希望对你有一定的参考价值。
数据结构: menu = { ‘北京‘:{ ‘海淀‘:{ ‘五道口‘:{ ‘soho‘:{}, ‘网易‘:{}, ‘google‘:{} }, ‘中关村‘:{ ‘爱奇艺‘:{}, ‘汽车之家‘:{}, ‘youku‘:{}, }, ‘上地‘:{ ‘百度‘:{}, }, }, ‘昌平‘:{ ‘沙河‘:{ ‘老男孩‘:{}, ‘北航‘:{}, }, ‘天通苑‘:{}, ‘回龙观‘:{}, }, ‘朝阳‘:{}, ‘东城‘:{}, }, ‘上海‘:{ ‘闵行‘:{ "人民广场":{ ‘炸鸡店‘:{} } }, ‘闸北‘:{ ‘火车站‘:{ ‘携程‘:{} } }, ‘浦东‘:{}, }, ‘山东‘:{}, }
基础需求:75% 1. 可依次选择进入各子菜单 2. 可从任意一层往回退到上一层 3. 可从任意一层退出程序 所需新知识点:列表、字典 升级需求:10% 1. 使用一个while循环,且整体代码量不超过15行
下面是拓扑图
然后是代码,这次代码的主要问题是变量名起的意义不大,要求都已经实现
1.可依次选择进入各子菜单
2. 可从任意一层按n往回退到上一层
3. 可从任意一层按q退出程序
请在pychrom里面运行
请按照程序提醒输入,不然要重新输入
#!./usr/bin/env.python3
# _*_ coding:_utf-8 _*_
# .Date:.2019/3/25
menu = {
‘北京‘:{
‘海淀‘:{
‘五道口‘:{
‘soho‘:{},
‘网易‘:{},
‘google‘:{}
},
‘中关村‘:{
‘爱奇艺‘:{},
‘汽车之家‘:{},
‘youku‘:{},
},
‘上地‘:{
‘百度‘:{},
},
},
‘昌平‘:{
‘沙河‘:{
‘老男孩‘:{},
‘北航‘:{},
},
‘天通苑‘:{},
‘回龙观‘:{},
},
‘朝阳‘:{},
‘东城‘:{},
},
‘上海‘:{
‘闵行‘:{
"人民广场":{
‘炸鸡店‘:{}
}
},
‘闸北‘:{
‘火车站‘:{
‘携程‘:{}
}
},
‘浦东‘:{},
},
‘山东‘:{},
}
count = menu # 开始把字典赋值,但是这个是一个动态的,并
count_1 = [] # 创建一个列表,处理返回选项
while True:
for bq in count: # 把动态值赋给给bp
print(bq)
name = input("请问您要查询哪里呢!!退出请按(q)返回上一级请按(n): ").strip()
if name in count: # 在字典中搜索输入值
count_1.append(count) # 找到后执行,把动态值追加列表count_1里面
count = count[name] # 重新赋值下级列表给count
elif name == "n":
if count_1:
count = count_1.pop() # 把列表后面追加的值删掉后,重新赋值给count
elif name == "q":
break
else:
print("输入错误,请重新输入")
以上是关于三级菜单的主要内容,如果未能解决你的问题,请参考以下文章