多级菜单初写(dict使用)
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# name:zzyu
map = {
"中国":{
"北京":{
"昌平区":{
"沙河镇":["西沙屯","路庄","王庄"],
"阳坊镇":["东贯市","西贯市","阳坊"],
},
"密云区":{
"高岭镇":["四合村","燕落村","高岭村"],
"密云镇":["阳光小区","月光小区","星光小区"]
},
"朝阳区":{
"北苑":["北苑小区","茉莉园小区","丽春园小区"],
"霍营":["霍营地铁","望京地铁","北苑地铁"]
}
},
"河北":{
"河北省":{
"石家庄":["石家庄小区","二小区","三小区"],
"保定":["保一区","保二区","保三区"]
},
"唐山":{
"开平区":["大麻各庄村","茅草营村","粟园镇"],
"古冶区":["刘各庄村","小寨村","养马庄村"]
},
"廊坊":{
"安次区":["小屯村","青坨村","东北尹"],
"武清区":["新刘庄","前台","北寺"]
}
},
"天津":{
"北辰区":{
"一镇":["心罗园","紫罗园","心泽园"],
"二镇":["荣业园","荣熙园","荣翔园"]
},
"红桥区":{
"三镇":["水竹园","水木天成","华水大厦"],
"四镇":["运通园","顺通园","天阔园"]
},
"西青区":{
"五镇":["西清医院","西青政府","西青银行"],
"六镇":["双河新村","河畔人家","文化中心"]
}
}
}
}
print("\033[31;1m选择期间按<q>退出,按<b>返回上一层\033[0m")
exit_flag = False
while not exit_flag:
for i in map:
print(i)
user_choice = input("请选择您的国家:")
if user_choice in map:
while not exit_flag:
for j in map[user_choice]:
print(j)
user_choice_1 = input("请选择您的城市:")
if user_choice_1 in map[user_choice]:
while not exit_flag:
for p in map[user_choice][user_choice_1]:
print(p)
user_choice_2 = input("请选择您所在的区县:")
if user_choice_2 in map[user_choice][user_choice_1]:
while not exit_flag:
for k in map[user_choice][user_choice_1][user_choice_2]:
print(k)
user_choice_3 = input("请选择您所在的乡镇:")
if user_choice_3 in map[user_choice][user_choice_1][user_choice_2]:
for f in map[user_choice][user_choice_1][user_choice_2][user_choice_3]:
print(f)
user_choice_4 = input("\033[31;1m已到最后一层,请选择<b>或<q>:\033[0m")
if user_choice_4 == "q":
exit_flag = True
elif user_choice_4 == "b":
pass
elif user_choice_3 == "q":
exit_flag = True
elif user_choice_3 == "b":
break
else:
print("输入有误请重新输入.....")
elif user_choice_2 == "q":
exit_flag = True
elif user_choice_2 == "b":
break
else:
print("输入有误请重新输入.....")
elif user_choice_1 == "q":
exit_flag = True
elif user_choice_1 == "b":
break
else:
print("输入有误请重新输入.....")
elif user_choice == "b":
print("已返回,请重新输入。")
elif user_choice == "q":
print("再见")
break
else:
print("您输入的国家不存在,请重新输入.....")
多级菜单初写(dict使用)的更多相关文章
- zTree下拉菜单多级菜单多选实现
惯例,先上图: 这是在一个项目中,为了满足样式美观.多级菜单以及多选而将zTree插件更改过后的效果. 在实际的开发过程中,本来zTree也是可以满足需求的,但是zTree多选的话需要checkbox ...
- Python作业之多级菜单
作业之多级菜单 菜单实现要求: 1. 列出菜单选择供选择 2. 选择对应内容进入下一级菜单 3. 任何时候都可以选择退出程序或返回上一级菜单 具体代码如下: goods = {'华为':{'A系':{ ...
- 原生JS封装创建多级菜单函数
手写一个使用原生JS封装的多级菜单的函数,满足以下几点需求. 子类层级不确定,可根据数据自动生成多级菜单. 操作便捷,只需传入一个HTML标签. 缺点: 需要满足特定的数据结构 废话不多说,展示代码. ...
- Vue2 实现树形菜单(多级菜单)功能模块
结构示意图 ├── index.html ├── main.js ├── router │ └── index.js # 路由配置文件 ├── components # 组件目录 │ ├── App. ...
- day1作业二:多级菜单操作(函数实现)
作业二:多级菜单 (1)三级菜单 (2)可以次选择进入各子菜单 (3)所需新知识点:列表.字典 要求:输入back返回上一层,输入quit退出整个程序 本示例的三级菜单是一个yaml文件格式,格式如下 ...
- s12-day01-work02 python多级菜单展示
README # README.md # day001-work-2 @南非波波 功能实现:多级菜单展示 流程图:  程序实现: ...
- 2_python之路之多级菜单
python之路之多级菜单 1.使用知识点 (1)列表,字典的使用 (2)if条件判断语句 (3)for/while循环的使用 2.代码详细 #!/usr/bin/env python # _*_ c ...
- [前端随笔][Vue] 多级菜单实现思路——组件嵌套
说在前面 本篇记录学习了vue-element-admin中的多级菜单的实现 [传送门] @vue/cli 4.2.2:vuex:scss:组件嵌套 正文 创建项目 npm create 项目名 // ...
- java生成多级菜单树
使用java实现一个多级菜单树结构 先上数据库 ps_pid字段很重要,是父级菜单的id Menu类 Menu类要新增一个字段,用来存放子菜单 /** * 子菜单列表 */ private List& ...
随机推荐
- java之AQS和显式锁
本次内容主要介绍AQS.AQS的设计及使用.ReentrantLock.ReentrantReadWriteLock以及手写一个可重入独占锁 1.什么是AQS? AQS,队列同步器AbstractQu ...
- C# datagridview 格式化单元格内容
private void dgvBig_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (dgvB ...
- cmdb autoserver端表数据分析
目录: 1.后台目录规划 autoserver: api: 接收数据并进行二次分析入库 API验证 backend : 负责后台管理 repository:负责管理模型类 (数据表) autoserv ...
- 洛谷1541 乌鬼棋 dp入门
题目链接:https://www.luogu.com.cn/problem/P1541 给定一个序列和一个操作序列,操作序列中只有1234四个数字,表示可以前进的步数,初始在1处,操作最后一定会全部用 ...
- BIT-逆序数
2019-12-17 09:42:44 问题描述: 问题求解: 逆序数问题非常经典,使用树状数组可以高效的解决这个问题. public List<Integer> countSmaller ...
- 我是如何用IDEA调试BUG的?
最近小明的bug有点多,忙的连王者荣耀都顾不上玩了,导致现在不得不抽点时间研究一下作为当前大多Java程序员开发工具的IDEA DEBUG功能,以提高效率. 一.条件断点 场景:我们在遍历某个集合,期 ...
- element-ui 的 单选按钮(Radio) 怎么取消文本显示?
方法一:<el-radio class="radio" v-model="radio" :label="1"> </el- ...
- 5L-链表导论心法
链表是比数组稍微复杂一点的数据结构,也是两个非常重要与基本的数据结构.如果说数组是纪律严明排列整齐的「正规军」那么链表就是灵活多变的「地下党」. 关注公众号 MageByte,有你想要的精彩内容. 链 ...
- Leetcode——回溯法常考算法整理
Leetcode--回溯法常考算法整理 Preface Leetcode--回溯法常考算法整理 Definition Why & When to Use Backtrakcing How to ...
- 上Github,北大、清华、浙大、中科大4大名校课程在线学,加星总数超1.8万
[导读]因为大学生找课程资料很麻烦,直到有人把搜集到的资料放在了Github上!现在,你不光都可以自由免费的获取北大.清华.浙大.中科大的相关课程资源进行自学,也可以对资源进行补充. 读过大学的人,对 ...