#实现省市级的三级菜单 #!/user/bin/env python citys={"广东省":{"广州市":["番禺区","天河区","白云区"], "深圳市":["南山区","宝安区","罗湖区"], "惠州市":["惠东","惠阳","淡水"]}, "湖南省":{"武汉":["黄鹤楼","户部巷","东湖"], "宜昌":["三峡大坝","葛洲坝","西峡"], "恩施":["神农溪","恩施土司城","女儿城"]}, "河北省":{"北京":["故宫","天安门","八达岭"], "太原":["晋祠","柳巷","圣母殿"], "石家庄":["赵州桥","隆兴寺","西柏波"]}} print(citys["广东省"]["广州市"]) while True: for a in citys.keys(): print(a) city=input("请输入需要了解的城市:") if city in citys and city=="广东省": for b in citys[city].keys(): print(b) area = input("请输入需要了解的区域:") if area in citys[city] and area == "广州市": for b in citys[city][area]: print(b) turn = input("按任意键返回上一层,按q退出程序") if turn == "q": break else: continue
上面的代码实现的只是简单而繁琐的一种,后面的代码会一直重复,因此并没有写下去,后面的是我看视频附带的代码,我也附上,较我写的完整一些
data = { '北京':{ "昌平":{ "沙河":["oldboy","test"], "天通苑":["链家地产","我爱我家"] }, "朝阳":{ "望京":["奔驰","陌陌"], "国贸":{"CICC","HP"}, "东直门":{"Advent","飞信"}, }, "海淀":{}, }, '山东':{ "德州":{}, "青岛":{}, "济南":{} }, '广东':{ "东莞":{}, "常熟":{}, "佛山":{}, }, } exit_flag = False while not exit_flag: for i in data: print(i) choice = input("选择进入1>>:") if choice in data: while not exit_flag: for i2 in data[choice]: print("\t",i2) choice2 = input("选择进入2>>:") if choice2 in data[choice]: while not exit_flag: for i3 in data[choice][choice2]: print("\t\t", i3) choice3 = input("选择进入3>>:") if choice3 in data[choice][choice2]: for i4 in data[choice][choice2][choice3]: print("\t\t",i4) choice4 = input("最后一层,按b返回>>:") if choice4 == "b": pass elif choice4 == "q": exit_flag = True if choice3 == "b": break elif choice3 == "q": exit_flag = True if choice2 == "b": break elif choice2 == "q": exit_flag = True