'''程序:三级菜单
要求:
1、打印省、市、县三级菜单
2、可返回上一级
3、可随时退出程序
'''
 # -*- coding: utf-8 -*-
# __author__ = 'qi'
prov_city_conty ={"北京":
{"东城区","西城区","崇文区","宣武区","朝阳区","丰台区","石景山区","海淀区","顺义区"},
"上海":
{"黄埔区","卢湾区","徐汇区","长宁区","静安区","普陀区","闸北区","杨浦区","闵行区"},
"河北":
{
"石家庄市":
{"长安区","桥东区","桥西区","新华区","井陉矿区","裕华区"},
"唐山市":
{"路南区","路北区","古冶区","开平区","丰润区","滦县"}
},
"江苏":
{
"南京市":
{"玄武区","白下区","秦淮区","建邺区","鼓楼区","下关区","浦口区"},
"苏州市":
{"沧浪区","平江区","金阊区","吴中区","相城区","常熟市"}
}
}
while True:
print ("-----打印省菜单------")
for index,prov in enumerate(prov_city_conty,1):
print index, prov
choice_p_menu = raw_input("please select province number[quit:q]:")
if choice_p_menu.isdigit():
choice_p_menu = int(choice_p_menu)
if choice_p_menu>0 and choice_p_menu<len(prov_city_conty):
prov_name_list = prov_city_conty.keys()
prov_name = prov_name_list[choice_p_menu-1]
while True:
print ("-----"+prov_name+"------")
for index,city in enumerate(prov_city_conty[prov_name],1):
print index,city
if prov_name not in ["北京","上海"]:
choice_city_menu = raw_input("please select city number[quit:q]|[return:r]:")
if choice_city_menu.isdigit():
choice_city_menu = int(choice_city_menu)
if choice_city_menu>0 and choice_city_menu<len(prov_city_conty[prov_name]):
city_name_list = prov_city_conty[prov_name].keys()
city_name = city_name_list[choice_city_menu-1]
while True:
print ("-----"+city_name+"------")
for county in prov_city_conty[prov_name][city_name]:
print county
choice_q_r_menu = raw_input("please select [quit:q]|[return:r]:")
if choice_q_r_menu == "q":
exit()
elif choice_q_r_menu == "r":
break
else:
print("your input code %s is not exist!" %choice_q_r_menu)
continue
else:
print ("city code %s is not exist!" %choice_city_menu)
continue
elif choice_city_menu == "q":
exit()
elif choice_city_menu == "r":
break
else:
choice_q_r_menu = raw_input("please select [quit:q]|[return:r]:")
if choice_q_r_menu == "q":
exit()
elif choice_q_r_menu == "r":
break
else:
print("your input code %s is not exist!" %choice_q_r_menu)
continue
else:
print ("province code %s is not exist!" %choice_p_menu)
elif choice_p_menu == "q":
break

python_入门_三级菜单的更多相关文章

  1. python练习_三级菜单

    python练习_三级菜单 需求: 做一个地区查询三级菜单,输入一级能够打印下一级 在第三级个第二级输入e可以返回上一级 在任意一级输入q则退出程序 以下代码实现的功能与思路: 功能: (1)通过In ...

  2. [作业] Python入门基础--三级菜单

    用字典存储数据 可以随时返回上一级,随时退出程序 只能用循环判断等内置方法,不得导入模块 menu = { '广东':{ '广州':{ '越秀区':{ '面积':'33.80', '人口':'115万 ...

  3. Python_简单三级菜单制作

    一:制作要求 1.三级菜单 2.可依次选择进入各子菜单 3.所需新知识点:字典,列表 *本文通过三种方法完成,第一种:只使用循环,第二种:使用列表,第三种:使用字典 二:FlowChart流程图 与上 ...

  4. Python入门-三级菜单

    作业题目: 三级菜单 作业需求: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, ...

  5. python3 三级菜单

    python版本3.5 功能: 1.程序执行显示一级菜单,输入内容进入二级菜单: 2.进入二级菜单后,输入二级菜单内容,进入三级菜单:输入b返回一级菜单: 3.进入三级菜单后,输入b返回二级菜单. # ...

  6. opencart3调用三级菜单level 3 sub categories

    Opencart 3的menu菜单默认只调用一级和二级菜单,但很多电商网站类目复杂,三级菜单一般都是需要的,甚至更深,那么如何调用三级菜单level 3 sub categories呢?ytkah有一 ...

  7. python三级菜单实例(傻瓜版和进阶版)

    程序: python三级菜单 要求: : 1.打印省.市.县三级菜单 2.可返回上一级 3.可随时退出程序 方案一:傻瓜版(其实傻瓜版考察的主要是思路!思路清楚了,那才不是傻瓜!O(∩_∩)O哈哈~) ...

  8. 三级菜单打怪升级,young -> plus -> pro

    young -> simple 三级菜单超简单,每层都是小循环 小可爱,不是if就是for,真可爱 def menu(message): print('按q返回上一层') print('按e退出 ...

  9. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

随机推荐

  1. Fernflower 反编译.class文件

    最近有些奇怪Intellij IDEA通过什么查看的源码,通过打开源码意外的发现如下注释 原来是通过Fernflower这个反编译工具w(゚Д゚)w. 使用Fernflower反编译出的代码相当友好, ...

  2. Spring Security 安全验证

    摘自:https://www.cnblogs.com/shiyu404/p/6530894.html 这篇文章是对Spring Security的Authentication模块进行一个初步的概念了解 ...

  3. oracle数据库导出与导入

    一.查询导出库的字符集 3个 1.查询oracle server端的字符集 SQL>select userenv('language') from dual; USERENV('LANGUAGE ...

  4. openshift 容器云从入门到崩溃之九《容器监控-报警》

    容器状态监控 主要是监控POD的状态包括重启.不健康等等这些k8s api 状态本身会报出来,在配合zabbix报警 导入zabbix模板关联上oc master主机 <?xml version ...

  5. JMeter-充值-生成随机数

    1.随机数,orderId每次需要变化,需要用到随机数 验证生成的随机数:

  6. Cocos Creator 使用计时器(官方文档摘录)

    在 Cocos Creator 中,我们为组件提供了方便的计时器,这个计时器源自于 Cocos2d-x 中的 cc.Scheduler,我们将它保留在了 Cocos Creator 中并适配了基于组件 ...

  7. VC++运行库 集32位/64位整合版

    运行程序时,win7/win10(x86和x64)常会遇到缺少什么缺少msvc***.dll问题 安装下面链接提供的程序,安装后,便可解决. [2016-10-10]Microsoft Visual ...

  8. 前端学习历程--css①

    ---恢复内容开始--- 本文用自己的理解,总结网上或者自身经历的问题,加以汇总,方便查找: 一.浏览器默认样式 1.浏览器处理css&html a.css作用范围:盒子模式.浮动.定位.背景 ...

  9. 更改linux终端中用户名颜色

    用户名的设置在-下.bashrc文件中,更改PS1变量的值,如果没有就自己加一行 PS1='\[\e[32m\][\u@\h \W]#\[\e[m\] ' 32代表的是绿色前景色,\[\e[m\]是关 ...

  10. axf 文件包含太多的调试信息,导致的编译错误

    构建工程时,提示: build\my_test_prj.axf: Error: L6291E: Cannot assign Fixed Execution Region MCU_FLASH1 Load ...