三级菜单

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("输入错误,请重新输入")

以上是关于三级菜单的主要内容,如果未能解决你的问题,请参考以下文章

三级菜单模拟登陆购物车等作业

Python中三级菜单 选择进入各级菜单

作业2:城市三级菜单

三级菜单

day01 作业 三级菜单

第一周作业-三级菜单