#实现省市级的三级菜单#!/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":breakelse:continue

上面的代码实现的只是简单而繁琐的一种,后面的代码会一直重复,因此并没有写下去,后面的是我看视频附带的代码,我也附上,较我写的完整一些

data = {'北京':{"昌平":{"沙河":["oldboy","test"],"天通苑":["链家地产","我爱我家"]},"朝阳":{"望京":["奔驰","陌陌"],"国贸":{"CICC","HP"},"东直门":{"Advent","飞信"},},"海淀":{},},'山东':{"德州":{},"青岛":{},"济南":{}},'广东':{"东莞":{},"常熟":{},"佛山":{},},
}
exit_flag = Falsewhile 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":passelif choice4 == "q":exit_flag = Trueif choice3 == "b":breakelif choice3 == "q":exit_flag = Trueif choice2 == "b":breakelif choice2 == "q":exit_flag = True

今天 2017/08/22,突然发现昨天的程序可以进行优化,可以实现每个省市级都进行选择

#实现省市级的三级菜单#!/user/bin/env python
citys={"广东省":{"广州市":["番禺区","天河区","白云区"],"深圳市":["南山区","宝安区","罗湖区"],"惠州市":["惠东","惠阳","淡水"]},"湖南省":{"武汉":["黄鹤楼","户部巷","东湖"],"宜昌":["三峡大坝","葛洲坝","西峡"],"恩施":["神农溪","恩施土司城","女儿城"]},"河北省":{"北京":["故宫","天安门","八达岭"],"太原":["晋祠","柳巷","圣母殿"],"石家庄":["赵州桥","隆兴寺","西柏波"]}}
print(citys["广东省"]["广州市"])
while True:for a in citys.keys():print(a)city=input("请输入需要了解的城市:")for b in citys[city].keys():print(b)area = input("请输入需要了解的区域:")for b in citys[city][area]:print(b)turn = input("按任意键返回上一层,按q退出程序")if turn == "q":breakelse:continue
else:pass

转载于:https://www.cnblogs.com/zfquan/p/7406881.html

python:关于三级菜单的新手实现相关推荐

  1. python之三级菜单

    python之三级菜单 要求: 1. 运行程序输出第一级菜单 2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单 3. 菜单数据保存在文件中 4. 让用户选择是否要退出 5. 有返回上一级菜单的功 ...

  2. python中三级菜单讲解_Python字典实现简单的三级菜单(实例讲解)

    导读热词 @H_403_2@如下所示: data = { "北京":{ "昌平":{"沙河":["oldboy",&qu ...

  3. python实现三级菜单_Python3.5实现的三级菜单功能示例

    本文实例讲述了Python3.5实现的三级菜单功能.共享给大家供大家参考,详细如下: 程序:三级菜单 要求: 1. 打印省.市.县三级菜单 2. 可返回上一级 3. 可随时退出程序 详细代码: #!/ ...

  4. Python实现三级菜单(字典和列表的使用)

    menu = { '北京': { '海淀': { '五道口': { 'soho': {}, '网易': {}, 'google': {} }, '中关村': { '爱奇艺': {}, '汽车之家': ...

  5. python 之三级菜单

    #author:zhouyu area = {'广东':{'揭阳':{'普宁':{'里湖','梅塘','流沙'},'洪阳':{'1','2'},'揭西':{'1','2'}},'深圳':{'1','2 ...

  6. python编写电子菜单_python 写三级菜单

    python 写三级菜单 # -*- coding: utf-8 -*- __author__ = 'am_mm_NO.1' import re memu = { "东北":{ & ...

  7. python字典之模拟三级菜单的程序

    博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏. ...

  8. 新手小白 python之路 Day1 (三级菜单功能实现)

    直接上需求: 实现一个多级菜单 三级菜单的实现 可以依次选择进入各个子菜单 也可以返回上级菜单 所需知识 列表 字典 需求也比较简单,但实际上做起来还是遇到许多的问题,我这边主要用到的知识点大概就是 ...

  9. python编写登录接口与三级菜单小程序

    一:登录接口 编写思路 python登录接口登录三次失败锁定: 一:建一个数据库文件保存用户名和密码,用来判断用户是否存在 二:用户锁定文件,当用户登录三次错误后记录用户信息进入锁定文件,下次登录时就 ...

  10. python自动化办公都能做什么菜-Python自动化开发学习之三级菜单制作

    本文实例为大家分享了Python三级菜单展示的具体代码,供大家参考,具体内容如下 作业需求: (1)运行程序输出第一级菜单 (2)选择一级菜单某项,输出二级菜单,同理输出三级菜单 (3)让用户选择是否 ...

最新文章

  1. adoquery查询结果如何赋给一个变量(delphi和c++ builder)
  2. nginx配置websocket代理
  3. iOS11隐藏导航条后顶部有20单位的空白或者pop页面时明显感觉前一个页面有上移的异常动画的解决办法。
  4. pandas新建dataframe_pandas数据处理
  5. /proc/net/sockstat 里的信息是什么意思?
  6. Git 常用操作 | 重写 commit 历史
  7. eclipse/MyEclipse 日期格式、注释日期格式、时区问题[转]
  8. 随想录(尝试wsl安装)
  9. 游戏中用户升级的设计
  10. 获取HG526超级密码
  11. Android:Java集合面试题集锦
  12. uniapp获取屏幕宽度的方式_Vue.js Uniapp 获取屏幕、元素的高度宽度
  13. MD5不是加密算法,是散列算法
  14. python import pandas as pd_python – Pandas pd.Series.isin性能与集合与数组
  15. 我希望逢着一个丁香一样地结着愁怨的姑娘
  16. JVM调优实战:to-space exhausted Evacuation Failure
  17. Oracle 时间段查询
  18. SSD6 exercise1 解题思路
  19. 未来五年最有前景的编程语言是什么?
  20. 让台式机通过笔记本上网的方法

热门文章

  1. android 监听通知栏点击事件,android使用NotificationListenerService监听通知栏消息
  2. pg日期转周_postgres日期格式转换
  3. android tabhost 跳转,TabHost中跳转到指定Tab页问题
  4. lm358应用电路讲解_工业电路板维修、电子电路、运算放大器
  5. ansys linux运行_如何在linux系统下启动workbench。谢谢啦。 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  6. [zz]c++可变参数函数使用
  7. HDU 2157 How many ways??
  8. Windows2008R2的NFS
  9. 【机器学习中的数学】多项式分布及其共轭分布
  10. 【相机标定系列】使用matlab工具箱标定后的结果换算