编写三级菜单----地图

#!/usr/bin/env python

#-*- coding:utf-8 -*-

provice = {

"江苏省":{"苏州市":{‘工业园区‘,‘姑苏区‘,‘吴中区‘},"无锡市":{‘锡山区‘,‘新区‘,‘南塘区‘}},

"湖北省":{"武汉市":{‘江汉区‘,‘江岸区‘,‘洪山区‘},"宜昌市":{‘夷陵区‘,‘枝江市‘,‘西陵区‘}},

"浙江省":{"杭州市":{‘上城区‘,‘下城区‘,‘拱墅区‘},"湖州市":{‘南浔区‘,‘吴兴区‘,‘安吉县‘}},

"安徽省":{"合肥市":{‘庐阳区‘,‘蜀山区‘,‘琼海区‘},"芜湖市":{‘鸠江区‘,‘新芜区‘,‘繁昌区‘}}

}

for i in range(3):#循环3次防止无限调用

print "\033[31;1m----------行政区划图---------------\033[0m"

for pro in provice.keys():#获取省信息列表,这里可以将provice.keys()赋值给某个一变量,如sheng_name_list = provice.keys(),然后再对sheng# _name_list进行遍历

print "\033[29;1m ============%s=============\033[0m" % pro#打印省份名字

print "\033[34;1m----------------------------------------------------\033[0m"

proname = raw_input("请输入要查看省份的名字:")

jump_up_flag = False  #定义标志位用来跳出整个循环

if proname not in provice.keys():#判断输入省份名字如果不在地图中

continue#跳出本次循环,回到循环开头

else:#如果在地图列表中则进行如下遍历操作

print "\033[33;1m %s包含如下城市:\033[0m" %(proname)

for s_name in provice[proname].keys():#遍历省份列表然后打印输出

print "\033[32;1m  %s   \033[0m" %(s_name)#输出省份名字列表

while True:

cs_name = raw_input("输入要查看的城市名字:")

chengshi_list = provice[proname].keys()

if cs_name in chengshi_list:

for area  in provice[proname][cs_name]:

print "\033[32;1m %s \033[0m" %(area)

print "\033[31;1m-----------------------------\033[0m"

else:

print "\033[31;1m你输入的城市名\033[34;1m %s \033[0m\033[31;1m不存在请重新输入!\033[0m" % (cs_name)

continue

jump_tag = raw_input("\033[32;1m请问是否退出:1 退出、2 返回最上层,任意输入返回上一层:\033[0m")

"""

判断用户的输入:如果输入1则将jump_up_flag 置为True然后跳出while循环,返回到上级目录,在上一层代码中判断标志位的代码

如果标志位为True执行break将跳出整个循环

如果输入2.直接break跳出while循环到最上级目录!

"""

if jump_tag == "1":

jump_up_flag = True

break

if jump_tag == "2":

break#如果jump_tag赋值为2,则直接跳出while循环,到上层for循环

if jump_up_flag:#判断如果标志位为True,将执行下面break代码跳出整个循环。

break

else:#如果标志位(即jump_up_flag)为False,则直接执行continue终止本次for循环进入下一次for循环

continue

else:#如果超出三次输入,则跳出整个for循环

print "\033[31;1m信息无效请重新输入!3次错误之后程序将退出!\033[0m"

总结:本案例重点是标识位,运用标识位的赋值对循环进行判断:

比如:

if jump_tag == "1":

jump_up_flag = True

break

if jump_tag == "2":

break#如果jump_tag赋值为2,则直接跳出while循环,到上层for循环

if jump_up_flag:#判断如果标志位为True,将执行下面break代码跳出整个循环。

break

在jump_tag == "1"重新修改jump_up_flag = True,影响到下一次是否跳出整个循环的思路,这个是本次案例的点睛之笔

另外就是:

for i in range(3):

--------------

--------------

else:

配合使用,超过三次就直接退出for循环

时间: 2024-10-06 23:30:45

编写三级菜单----地图的相关文章

python 编写三级菜单

python版本 python3.5 所需用到的知识: 1,字典,列表 2,for while循环 查看代码 cat caidan.py #!/usr/bin/env python#_*_ coding:utf-8 _*_ import sys #列出商品的种类shopping = { "京东":{ "服装城":["女装","男装","童装"], "电器城":["电脑"

python学习基础篇--编写三级菜单

#!/usr/bin/env python #-*- coding:utf-8 -*- #------------------------------------------------------ #制作一个三级菜单,要求: #可以依次选择,进入到相应的菜单 #可以在任意层执行返回上一次或者退出 #------------------------------------------------------- print("省市区县三级菜单展示") dic= { '陕西省':{ '西安

python三级菜单

需求: 编写三级菜单     1.菜单需求:         一级菜单:            北京                                  山西         二级菜单:    朝阳                昌平               长治           大同         三级菜单:三里屯    工体       沙河  西二旗       潞城  黎城     阳高县  左云县     2.任何一级都可以输入b返回上一级,输入q退出.    

练习-三级菜单

1 #作业二:编写三级菜单 2 #功能:大公司通讯录,依次选择地名-->部门名-->姓名,找到需要查找人的手机号码 3 #author:刘志睦 4 #update:2016-4-11 5 #description:本程序,首先列出3个城市名,1,2,3 6 # 用户可以根据需要选择相应城市,直接输入序号即可 7 #输入字母b返回上级 8 #然后列出该城市中的部门名,1,2,3 9 #用户根据需要选择相应部门,直接输入序号即可 10 #输入字母b返回上级 11 #最后列出该部门的所有人员,1,2

Android--简单的三级菜单

  关于这个菜单应该在很多播放器应用里面可以看见,直接先上两张效果图吧,一张是该Demo的效果图,一张是优酷手机客户端的效果图.                                                         DEMO的效果图                                                                   优酷手机客户端界面 因为没有时间去自己制作图标,所以Demo里面采用的就是优酷手机客户端里的图标了. 一.布

python 三级菜单 while循环三次,湖北省市-县-街道的选择,3个while的循环 -day2

python编写一个三级while的循环菜单 1.定义字典,字典里面嵌套字典,内嵌字典的值为列表. 思路: 湖北省的市:字典中的定义3个字典,用于存储 {序列-键:市名} shiqu_dir = {} {序列-键:县} xian_dir ={} {序列-键:街道} jiedao_dir = {} 函数将序列和键一一对应. for number,key in enumerate(Hbei_map.keys()) 获取序列键和市名存储到 市名字典 用一个列表 chose = [] 来存储所选择的市-

Python程序练习2--模拟三级菜单

1.功能简介 此程序模拟多级菜单操作,实现按菜单项对应数字索引进入下级菜单,按b键回退到上一级菜单,按q键退出菜单.并用一个简化的学科专业目录进行了三级菜单测试,实际上此程序可适用任意多级菜单操作. 2.实现方法 本程序采用python语言编写,为了高效实现菜单操作,减少循环次数,关键定义了如下三个变量: current_menu_dict:非最低级菜单时为一个嵌套字典,在最低级菜单时为一个列表,存放当前级及后续各级菜单. upper_menu_list:一个列表,存放比当前级更高级别的所有菜单

Python学习笔记五:字符串常用操作,字典,三级菜单实例

字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count("x") 输出字符,不够的使用指定的字符补上,字符居中:a_str.center(50,"-") 判断字符串以什么结尾:a_str.endwith("xx") 将字符串中的tab转换为指定数目的空格:a_str.expandtabs(tabsize=30) 查找指定字符

Js编写的菜单树

只需要提供这种JSON格式就ok了 其他的都可以直接引用这个代码进去 var testMenu=[ { "name": "一级菜单", "submenu": [ { "name": "二级菜单", "url": "" }, { "name": "二级菜单", "url": "" } ] }