多级菜单初写(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& ...
随机推荐
- 解决tinyint映射成boolean/byte的问题
前言 最近受疫情的影响,公司要做一个类似一码通的系统为客户服务.由我来进行表的设计.创建表之后需要逆向生成Java的entity.mapper.mapper.xml.由于我在数据库中定义了大量 tin ...
- [剑指offer]25.合并两个排序的链表(迭代+递归)
25.合并两个排序的链表 题目 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 示例1: 输入:1->2->4, 1->3->4 输出:1-> ...
- 还是只使用console.log()进行调试?好吧,其实还有更多。
在浏览器控制台中打印消息无疑可以拯救所有开发人员. console.log()消息就像您的大多数疾病的药,同时调试了代码中的一些有线问题. 那里的大多数开发人员都喜欢— 让我们在浏览器中打印消息以了解 ...
- Django之CBV装饰器,跨站请求伪造,auth认证
CBV加装饰器 基于session实现登录 def login(request): if request.method == 'POST': username = request.POST.get(' ...
- 朴素贝叶斯分类器(Naive Bayesian Classifier)
本博客是基于对周志华教授所著的<机器学习>的"第7章 贝叶斯分类器"部分内容的学习笔记. 朴素贝叶斯分类器,顾名思义,是一种分类算法,且借助了贝叶斯定理.另外,它是一种 ...
- 【springmvc thymeleaf】springmvc整合thymeleaf
概述 Thymeleaf提供了一组Spring集成,使您可以将其用作Spring MVC应用程序中JSP的全功能替代品. 这些集成将使您能够: @Controller像使用JSP一样,将Spring ...
- python—nnlog日志
#when='S'每秒产生一个[D天默认 H M S]# backCount='5'## level是设置打印级别默认是debug级别(下面是四个级别可以指定打印) import nnlog lo ...
- Codeforces题解集 1.0
记录 Codeforces 2019年12月19日到 2020年2月12日 的部分比赛题 Educational Codeforces Round 82 (Rated for Div. 2) D Fi ...
- G 树的难题
时间限制 : 10000 MS 空间限制 : 165536 KB 评测说明 : 1s,128m 问题描述 给出一个无根树.树有N个点,边有权值.每个点都有颜色,是黑色.白色.灰色这三种颜色之一,称 ...
- DevOps技能自查表
前篇提到了DevOps的工作岗位要求,但是没有来的及深入细节,本文根据个人10年多的经验,尽量详细地列举DevOps所需要用到的一些技术和相关参考网站. Linux基础 Linux系统的基本概念: 必 ...