python学习(10)字典学习,写一个三级菜单程序

学习了字典的应用。按老师的要求写一个三级菜单程序。

三级菜单程序需求如下:

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()

 

posted @ 2018-03-23 15:02  洪韬  阅读(378)  评论(0编辑  收藏  举报