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 ...
随机推荐
- 机器学习(二十三)— L0、L1、L2正则化区别
1.概念 L0正则化的值是模型参数中非零参数的个数. L1正则化表示各个参数绝对值之和. L2正则化标识各个参数的平方的和的开方值. 2.问题 1)实现参数的稀疏有什么好处吗? 一个好处是可以简化 ...
- Mybatis中collection与association的区别
association是多对一的关系 collection是一个一对多的关系
- HashMap,Hashtable,TreeMap ,Map
package com.wzy.list; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterato ...
- [SHOI2017]期末考试
题目描述 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布. 第i位同学希望在第ti天或之前得知所有课程的成绩.如果在第ti天,有至少一门课程的成绩没有公布,他就会等待最 ...
- 原 requirements.txt 介绍 & 快捷生成
requirements.txt介绍 requirements.txt 文件 里面记录了当前程序的所有依赖包及其精确版本号. 这个文件有点类似与Rails的Gemfile.其作用是用来在另一台 ...
- UNITY_MATRIX_IT_MV[Matrix]
http://blog.csdn.net/cubesky/article/details/38682975 前面发了一篇关于unity Matrix的文章. http://blog.csdn.NET/ ...
- python中如何定义main方法
我们有时写的python模块需要自己测试, 简单方法就是定义main函数, 然后测试自己的模块接口. def main(): test_yourCode() if __name__ == & ...
- HDOJ1548(DFS超内存,BFS过了)
DFS代码 #include<iostream> #include<cstdio> using namespace std; #define Min(a,b) (a<b) ...
- Python:sample函数
sample(序列a,n) 功能:从序列a中随机抽取n个元素,并将n个元素生以list形式返回. 例: from random import randint, sample date = [randi ...
- 七 内置锁 wait notify notifyall; 显示锁 ReentrantLock
Object中对内置锁进行操作的一些方法: Java内置锁通过synchronized关键字使用,使用其修饰方法或者代码块,就能保证方法或者代码块以同步方式执行. 内置锁使用起来非常方便,不需要显式的 ...