学习了字典的应用。按老师的要求写一个三级菜单程序。
三级菜单程序需求如下:
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(" 请输入您的选择1:") 47 if choice in date: 48 while True: 49 for j in date[choice]: 50 print(" ",j) 51 choice2=input(" 请输入您的选择2:") 52 if choice2 in date[choice]: 53 while True: 54 for k in date[choice][choice2]: 55 print(" ",k) 56 choice3 = input(" 请输入您的选择3:") 57 if choice3 in date[choice][choice2]: 58 while True: 59 for l in date[choice][choice2][choice3]: 60 print(" ",l) 61 choice4=input(" 最后一层,按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()