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