python之02数据类型学习-作业练习2
引用博客地址:http://www.cnblogs.com/yuanchenqi/articles/5782764.html
作业描述:
省 市 县的三层数据通过字典 元祖 列表 保存起来
执行程序后 首先看到省级菜单
1.2,3
打印后选择哪个省
选择1后 应该把省里的市打印出来
然后用户选择某个市
把市打出来
最少要有返回上一级
除了第一级返回直接退出
看到第二级可以返回到第一级
无论在哪一层都可以退出这个程序
退出程序不要用exit,用break
用标志位来做退出
# Author:Administrator
# date: // address = [
{(, '上海市'): [{(, '上海市'): [(, '崇明区'), (, '松江区'), (, '徐汇区'), (, '静安区')]}]},
{(, '河南省'): [{(, '周口市'): [(, '太康县'), (, '淮阳县'), (, '鹿邑县')]},
{(, '郑州市'): [(, '中原区'), (, '上街区'), (, '新郑市')]}]},
{(, '江苏省'): [{(, '南京市'): [(, '玄武区'), (, '六合区'), (, '雨花台区')]},
{(, '无锡市'): [(, '宜兴市'), (, '锡山区'), (, '惠山区')]},
{(, '徐州市'): [(, '新沂市'), (, '睢宁县'), (, '铜山区')]}]}
]
exit_flag = False
# print(len(address))
while True and not exit_flag:
province_keys_code_list = []
province_keys_list = []
for item_0 in address:
for province_key in item_0:
province_keys_code_list.append(province_key[])
province_keys_list.append(province_key)
print("省份编号:{province_code},省份名称:{province_name}".format(province_code=province_key[],
province_name=province_key[]))
province_code_input = input("请输入想要查看的省份编号或输入q退出:").strip()
if province_code_input == "q":
exit_flag = True
break
elif province_code_input.isdigit() and int(province_code_input) in province_keys_code_list:
province_code_input = int(province_code_input)
province_index = province_keys_code_list.index(province_code_input)
# province_info = address[province_index] # 找到省份条目完整信息
province_key_info = province_keys_list[province_index]
city_list_info = address[province_index][province_key_info] # 找到城市列表完整信息
city_keys_code_list = []
city_keys_list = []
while True and not exit_flag:
for city_item in city_list_info:
for city_key in city_item:
city_keys_code_list.append(city_key[])
city_keys_list.append(city_key)
print("城市编号:{city_code},城市名称:{city_name}".format(city_code=city_key[], city_name=city_key[]))
city_code_input = input("请输入想要查看的城市编号或输入q退出或输入back返回上一级:").strip().lower()
if city_code_input == "q":
exit_flag = True
break
elif city_code_input == "back":
break
elif city_code_input.isdigit() and int(city_code_input) in city_keys_code_list:
while True:
city_code_input = int(city_code_input)
city_index = city_keys_code_list.index(city_code_input)
city_key_info = city_keys_list[city_index]
area_list_info = city_list_info[city_index][city_key_info]
for area_item in area_list_info:
print("地区编号:{are_code},地区名称:{area_name}".format(are_code=area_item[], area_name=area_item[]))
area_code_input = input("请输入想要查看的城市编号或输入q退出或输入back返回上一级:").strip().lower()
if area_code_input == "back":
break
elif area_code_input == "q":
exit_flag = True
break
else:
print("输入有误,请重新输入")
else:
print("输入无法匹配")
else:
print("输入无法匹配。")
if exit_flag:
print("您已退出。")
python之02数据类型学习-作业练习2的更多相关文章
- python之02数据类型学习-作业练习
题目: 购物车程序 salary = 5000 1. iphone6s 5800 2. mac book 9000 3. coffee 32 4. python book 80 5. bicyle 1 ...
- python之02数据类型学习
参考链接:http://www.cnblogs.com/yuanchenqi/articles/5782764.html python的数据类型有:Number.Boolean.String .Lis ...
- python学习第九讲,python中的数据类型,字符串的使用与介绍
目录 python学习第九讲,python中的数据类型,字符串的使用与介绍 一丶字符串 1.字符串的定义 2.字符串的常见操作 3.字符串操作 len count index操作 4.判断空白字符,判 ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- python基本数据类型学习
python是极其简洁的一门高级语言,在python里面没有真正意义上的常量,只是用大写的标定表示常量(python中的常量是可以修改的),单行注释用#开始,.并且python不用定义数据类型,因为p ...
- Python学习之路【第二篇】-pyc简介、Python常用的数据类型及其用法和常用运算符
1.pyc简介 python程序在运行时也有编译过程,编译后会产生.pyc文件.这是一种由python虚拟机执行的二进制文件(字节码),用于保存内存中PyCodeObject,以便加快程序的加载运行. ...
- python学习笔记03:python的核心数据类型
从根本上讲,Python是一种面向对象的语言.它的类模块支持多态,操作符重载和多重继承等高级概念,并且以Python特有的简洁的语法和类型,OOP十分易于使用.Python的语法简单,容易上手. Py ...
随机推荐
- 分享知识-快乐自己:PageHelper 分页关键基础代码
关键代码:点我下载样式 详细介绍 //使用分页插件 jQuery("#pagination").pagination(data.total, { items_per_page: ...
- js修改css时如何考虑兼容性问题es5+es6
es5的写法 var elementStyle = document.createElement('div').style var vendor = (function(){ let transfor ...
- Java_异常_06_ Unsupported major.minor version 52.0
二.参考资料 1.如何解决Unsupported major.minor version 52.0问题? 2.Unsupported major.minor version 52.0 3. Unsup ...
- Java微信开发_00_资源汇总贴
1.微信公众平台技术文档(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432) 2.微信企业号开发接口文档(ht ...
- org.apache.catalina.core.StandardWrapperValve invoke报错
tomcat报错如下: HTTP Status 404 - Servlet xxx is not available type Status report message Servlet xxx is ...
- Android之ExpandableList扩展用法(基于BaseExpandableListAdapter)
1.简介 基于基于BaseExpandableListAdapter扩展的ExpandableList用法,现在网上流行的主要有两种:第一种是向BaseExpandableListAdapter传入两 ...
- NSDictionary和NSArray
// 字典里套数组 NSArray *array1 = @[@"huahau" , @"hehe"]; NSArray *array2 = @[@"x ...
- 微服务理论之五:微服务架构 vs. SOA架构
一.面向服务的架构SOA 面向服务的架构是一种软件体系结构,应用程序的不同组件通过网络上的通信协议向其他组件提供服务.通信可以是简单的数据传递,也可以是两个或多个服务彼此协调连接.这些独特的服务执行一 ...
- linux下go的动态链接库的使用
转自:http://blog.csdn.net/xtxy/article/details/21328143 在使用lua进行服务器端游戏逻辑开发时,发现了LUA的各种不方便的地方,不能编译检查,不能断 ...
- CentOS配置LDAP服务器
环境:centos 5.8 安装: 1.yum安装oepnldap.openldap-servers.openldap-clients.openldap-devel [root@hao-linux ~ ...