学习了字典的应用。按老师的要求写一个三级菜单程序。
三级菜单程序需求如下:
1、深圳市的区--街道--社区---小区4级
2、建立一个字典,把各级区域都装进字典里
3、用户可以从1级进入2级再进入3级
4、用户按B键可以返回,按Q键退出
经验总结:
(1)写这个程序,又花了半天,开始每次出现print只打印一行的情况。反复想出错在哪里,后面发现choice放在print后面才会出错。以后一定要注意python的格式。python格式要求比较简单,所以必须要注意嵌套格式,特别涉及到多重循环,一个空格就能让程序出错。
(2)这个程序对于我理解多重循环语句和字典,很有帮助。
(3)正如老师说的,用最LOW的方法写的这个程序是为了以后用高大上的方法写,如果LOW的方式都写不好,更别提高大上的方式了。
(4)很喜欢python,越写越喜欢。老师说,当你写几百万条代码的时候,你就牛逼了。哈哈,自勉吧!
程序如下:
1 # -*- coding: UTF-8 -*-
2 # Author:show530
3
4
5 date={
6 '罗湖':{
7 "东晓街道":{
8 "东晓社区":["今日家园","阳光明居","泰和花园"],
9 "布心社区":["彩世界","布心花园","东晓花园"],
10 "水库社区":["宝湖花园","水库家园","宝丰源"]
11 },
12 "东湖街道":{
13 "东乐社区":["东乐花园","百仕达一期","百仕达二期"],
14 "翠鹏社区":["翠鹏花园","名仕达","泰宁豪苑"],
15 "金鹏社区":["金鹏花园","天御境界","华都馨苑"]
16 },
17 "东门街道":{
18 "湖贝社区":["木头龙小区","深业大厦","花都院"],
19 "螺岭社区":["万众豪苑","缤纷时代家园","金城华庭"],
20 "东门社区":["东门168","立新花园","万科彩园"]
21 }
22 },
23 '福田':{
24 "福田街道":{
25 "福华社区":["皇岗新村","皇御苑","共和世家"],
26 "福民社区":["福民新村","绿茵阁","福涛东园"],
27 "华强社区":["华强花园","红荔村","长泰花园"]
28 },
29 "园岭街道":{
30 "园岭社区":["园岭新村","盛世鹏程","鸿翔花园"],
31 "红岭社区":["桂木园小区","红岭新村","荔香坊"],
32 "百花社区":["长城花园","核电花园","国城花园"]
33 },
34 "梅林街道":{
35 "上梅林社区":["颐林雅院","中康生活","梅林四村"],
36 "下梅林社区":["梅林一村","梅林二村","书香门第"],
37 "银湖社区":["银湖谷","金景花园","金湖花园"]
38 }
39 }
40 }
41
42
43 while True:
44 for i in date:
45 print(i)
46 choice=input("\n请输入您的选择1:")
47 if choice in date:
48 while True:
49 for j in date[choice]:
50 print("\t",j)
51 choice2=input("\n请输入您的选择2:")
52 if choice2 in date[choice]:
53 while True:
54 for k in date[choice][choice2]:
55 print("\t\t",k)
56 choice3 = input("\n请输入您的选择3:")
57 if choice3 in date[choice][choice2]:
58 while True:
59 for l in date[choice][choice2][choice3]:
60 print("\t\t\t",l)
61 choice4=input("\n最后一层,按B键返回上一层菜单:")
62 if choice4=="B":
63 break
64 elif choice4=="Q":
65 exit()
66 if choice3 == "B":
67 break
68 elif choice3 == "Q":
69 exit()
70 if choice2 == "B":
71 break
72 elif choice2 == "Q":
73 exit()
74 if choice == "B":
75 break
76 elif choice == "Q":
77 exit()