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 ...
随机推荐
- js 处理移动端触摸事件
在处理移动端的touch事件时,我们可以选择一些插件来处理,比如jquery ui touch punch.js 提供丰富的触摸效果,可以满足移动端的开发, 但是,有些移动端开发中,并不需要如此复杂的 ...
- php数据结构课程---3、队列(队列实现方法)
php数据结构课程---3.队列(队列实现方法) 一.总结 一句话总结: 1.数据实现:适用于功能不复杂的情况 2.链表实现:受限链表,只能队头队尾操作:适用于功能复杂情况 1.队列的数组实现注意点? ...
- ES索引瘦身 压缩——_source _all 均disable filed store为no,引入第三方DB存储原始数据,去掉pos倒排和doc_values,强制定期merge segments,将所有fileds合并为一个field big string
原始数据:835MB ES 设置了_source _all disabled 且设置了仅仅存docs倒排Wed Feb 22 11:58:27 CST 2017Before size:1 /home/ ...
- (转)java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)
java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明);部分资料参考网络资源 1. java向MySQL插入当前时间的四种方式 第一种:将java.util.Date ...
- AngularJS学习笔记(二) 表单验证案例(ng-repeat/filter)
这一节相对来说需要理解的东西不是太多,记住了那些api就行了. 还是一个案例(同样来自miaov),一个表单验证,先上代码,然后再对对应的内容进行解释. <!DOCTYPE html> & ...
- hbase_学习_01_HBase环境搭建(单机)
一.前言 本文承接上一篇:hadoop_学习_02_Hadoop环境搭建(单机) ,主要是搭建HBase的单机环境 二.环境准备 1.说明 hbase 的下载来源有: 官方版本:http://arc ...
- 关于MFC的DLL调用方法问题
参考资料: 一.dll导出方式: MFC的DLL函数导出方法有两种:一种是通过模块定义文件DEF文件:另一种是在导出函数前加_declspec(dllexport). 1.def文件方法: 只需要在E ...
- 训练集、测试集loss容易出现的问题总结
train loss 不断下降,test loss不断下降:说明网络仍在学习; train loss 不断下降,test loss趋于不变:说明网络过拟合; train loss 趋于不变,test ...
- POJ2689:素数区间筛选
Prime Distance Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15820 Accepted: 4202 D ...
- RS485波特率问题
转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/51683648 最近再做一个项目,发现485不能发送数据,感到非常奇怪!后来查阅相关 ...