徐州提供网站建设报价表,wordpress建站打不开二级页面,装修网站源码,如何在百度云上建设网站作业二#xff1a;多级菜单 #xff08;1#xff09;三级菜单 #xff08;2#xff09;可以次选择进入各子菜单 #xff08;3#xff09;所需新知识点#xff1a;列表、字典 要求#xff1a;输入back返回上一层#xff0c;输入quit退出整个程序 思路#xff1a; 多级菜单 1三级菜单 2可以次选择进入各子菜单 3所需新知识点列表、字典 要求输入back返回上一层输入quit退出整个程序 思路 1首先定义好三级菜单字典 2提取第一级省的编号打印包含哪些省份让用户输入省份的编号能够显示对应的省这个过程需要创建一个字典用于存放省原有的名称和编号以便用户输入之后进去匹配 3进入第二级菜单市的提取市也存放在一个字典中以便用户输入对应的编号的时候能够到字典中查找并返回对应的市 4根据上面输入得到县/区的列表遍历列表并使用enumerate()给县/区添加编号对应的索引只需减一即可因为不可能让用户看到从0开始而列表默认是从0开始的 流程图如下 代码如下 1 import collections2 dict_db {河南:[3 {郑州:[中原区,金水区,二七区,上街区,巩义市,新郑市,新密市,登封市,荥阳市,中牟县]},4 {开封:[鼓楼区,龙亭区,禹王台区,金明区,开封县,尉氏县,兰考县,杞县,通许县]},5 {南阳:[卧龙区,宛城区,邓州市,桐柏县,方城县,淅川县,镇平县,唐河县,南召县,内乡县]},6 {洛阳:[西工区,老城区,涧西区,瀍河回族区,洛龙区,吉利区,偃师市,孟津县,汝阳县]},7 8 ],9 湖南:[
10 {长沙:[岳麓区,芙蓉区,天心区,开福区,雨花区,浏阳市,长沙县]},
11 {岳阳:[岳阳楼区,云溪区,君山区,临湘市,汨罗市,岳阳县]},
12 {株洲:[天元区,荷塘区,芦淞区,石峰区,醴陵市,株洲县,炎陵县]},
13 {湘潭:[岳塘区,雨湖区,湘乡市,韶山市,湘潭县]},
14 ],
15 广东:[
16 {广州:[越秀区,荔湾区,海珠区,天河区,白云区,黄埔区,番禺区,花都区]},
17 {深圳:[福田区,罗湖区,南山区,宝安区,龙岗区,盐田区]},
18 {珠海:[香洲区,斗门区,金湾区]},
19 ]
20 }
21
22 if __name__ __main__:
23 active True
24 #程序标识符控制程序什么时候停止由于包含多层循环当activeFalse的时候终止整个循环
25 #用户输入quit时activeFalse结束整个循环用户输入back时break退出当前循环跳回上一次循环
26 while active:
27 print(欢迎来到全国省市区查询系统...)
28 p_dict {} #用户存放编号和省份让用户输入编号的时候可以显示身份
29 print(---------------------------------------------------------------)
30 for p_num,p_key in enumerate(dict_db.keys(),1): #enumerate()添加编号
31 p_dict[p_num] p_key
32
33 print(省的编号:%d 省的名称%s %(p_num,p_key))
34 print(---------------------------------------------------------------)
35 find_p input(请输入你要查询的省的编号(输入quit退出))
36 if find_p quit:
37 break
38
39 elif find_p.isdigit() and int(find_p) len(p_dict):
40 print(\033[32;1m%s\033[0m %(p_dict[int(find_p)])) #给输出进行着色
41 province p_dict[int(find_p)]
42 # 进入第二层循环
43 while active:
44 cities dict_db[province]
45 cities_dict {} #用于存放省对应的市让用户输入编号的时候可以显示对应的市名
46 print(---------------------------------------------------------------)
47 for c_num, city_dict in enumerate(cities, 1):
48 for city in city_dict.keys():
49 print(市的编号%s 市的名称%s % (c_num, city))
50 cities_dict[c_num] city
51 print(---------------------------------------------------------------)
52 find_city_num input(请输入你要查询的市的编号(输入quit退出,输入back返回上一层))
53 if find_city_num quit:
54 active False
55 elif find_city_num back:
56 break
57 elif find_city_num.isdigit() and int(find_city_num) len(cities):
58 print(\033[22;1m%s %s\033[0m %(p_dict[int(find_p)], cities_dict[int(find_city_num)]))
59 while active:
60 #进入第三层循环
61 countries cities[int(find_city_num)-1][cities_dict[int(find_city_num)]]
62 print(---------------------------------------------------------------)
63 for country_num,country in enumerate(countries,1):
64 print(县/区编号%s 县/区名称%s %(country_num,country))
65 print(---------------------------------------------------------------)
66 find_country_num input(请输入你要查询的县/区的编号(输入quit退出,输入back返回上一层))
67 if find_country_num quit:
68 active False
69 elif find_country_num back:
70 break
71 elif find_country_num.isdigit() and int(find_country_num) len(countries):
72 print(\033[1;1m%s %s %s\033[0m %(p_dict[int(find_p)], cities_dict[int(find_city_num)],countries[int(find_country_num)-1]))
73 else:
74 print(对不起您输入的编号不对请核对后重新输入)
75 else:
76 print(对不起你输入的编号有误请核对后重新输入)
77 active False
78
79
80 else:
81 print(您输入的编号不对请核对后重新输入) 代码运行结果如下 欢迎来到全国省市区查询系统...---------------------------------------------------------------省的编号:1 省的名称广东省的编号:2 省的名称河南省的编号:3 省的名称湖南---------------------------------------------------------------请输入你要查询的省的编号(输入quit退出)2河南---------------------------------------------------------------市的编号1 市的名称郑州市的编号2 市的名称开封市的编号3 市的名称南阳市的编号4 市的名称洛阳---------------------------------------------------------------请输入你要查询的市的编号(输入quit退出,输入back返回上一层)3河南 南阳---------------------------------------------------------------县/区编号1 县/区名称卧龙区县/区编号2 县/区名称宛城区县/区编号3 县/区名称邓州市县/区编号4 县/区名称桐柏县县/区编号5 县/区名称方城县县/区编号6 县/区名称淅川县县/区编号7 县/区名称镇平县县/区编号8 县/区名称唐河县县/区编号9 县/区名称南召县县/区编号10 县/区名称内乡县---------------------------------------------------------------请输入你要查询的县/区的编号(输入quit退出,输入back返回上一层)4河南 南阳 桐柏县---------------------------------------------------------------县/区编号1 县/区名称卧龙区县/区编号2 县/区名称宛城区县/区编号3 县/区名称邓州市县/区编号4 县/区名称桐柏县县/区编号5 县/区名称方城县县/区编号6 县/区名称淅川县县/区编号7 县/区名称镇平县县/区编号8 县/区名称唐河县县/区编号9 县/区名称南召县县/区编号10 县/区名称内乡县---------------------------------------------------------------请输入你要查询的县/区的编号(输入quit退出,输入back返回上一层)back---------------------------------------------------------------市的编号1 市的名称郑州市的编号2 市的名称开封市的编号3 市的名称南阳市的编号4 市的名称洛阳---------------------------------------------------------------请输入你要查询的市的编号(输入quit退出,输入back返回上一层)2河南 开封---------------------------------------------------------------县/区编号1 县/区名称鼓楼区县/区编号2 县/区名称龙亭区县/区编号3 县/区名称禹王台区县/区编号4 县/区名称金明区县/区编号5 县/区名称开封县县/区编号6 县/区名称尉氏县县/区编号7 县/区名称兰考县县/区编号8 县/区名称杞县县/区编号9 县/区名称通许县---------------------------------------------------------------请输入你要查询的县/区的编号(输入quit退出,输入back返回上一层)back---------------------------------------------------------------市的编号1 市的名称郑州市的编号2 市的名称开封市的编号3 市的名称南阳市的编号4 市的名称洛阳---------------------------------------------------------------请输入你要查询的市的编号(输入quit退出,输入back返回上一层)back欢迎来到全国省市区查询系统...---------------------------------------------------------------省的编号:1 省的名称广东省的编号:2 省的名称河南省的编号:3 省的名称湖南---------------------------------------------------------------请输入你要查询的省的编号(输入quit退出)quit解析 多级菜单中要求输入quit退出整个循环输入back返回上一层这就启示我们要设置一个程序中所有循环的运行标识符无论在那个环节只要用户输入quit那么就能够退出整个循环在上述程序中我们设置了程序运行标识符active,开始默认是True当我们向结束程序的时候就把中国和标识符设置为False这样就终止了整个程序的运行当用户输入back的时候我们只需要使用break结束当前循环程序就会退出上一层循环我们的目的也就达到了。 上面的循环用到了层级循环即如下: while True: pass while True: pass while True: pass 在遍历中我们要知道我们得到的对象的属性是字典还是列表还是字符串只有这样我们才能使用相应的方法对应相应的操作。 enumerate()函数用来在遍历列表对象的元素的时候给元素添加序号可以指定其实位置。比如商品编号不可能从0开始这样不符合大众的习惯。转载于:https://www.cnblogs.com/gengcx/p/6940190.html