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 ...
随机推荐
- qt和makefile学习网址
http://blog.51cto.com/zt/20/1/ ---qt学习网站 http://www.chinaunix.net/old_jh/23/408225.html [精华] 跟我一起 ...
- BEC listen and translation exercise 45
So the Counselling Services we offer deal with any problems arising from your studies or in your lif ...
- luogu1801 黑匣子
惊了呀 Splay Treap 这都什么玩意 两个优先队列搞定 #include <bits/stdc++.h> using namespace std; #define LL long ...
- [CJOJ2425][SYZOI Round1]滑稽的树
cjoj sol 子树转化成dfs序上的区间. 所以就变成了:区间Kth,区间内[a,b]范围内的数有多少个,单点修改 裸的树套树啊. code #include<cstdio> #inc ...
- Codeforces Round #402 (Div. 2) 题解
Problem A: 题目大意: 给定两个数列\(a,b\),一次操作可以交换分别\(a,b\)数列中的任意一对数.求最少的交换次数使得任意一个数都在两个序列中出现相同的次数. (\(1 \leq a ...
- 判断iOS系统的Model
获取iOS系统的Model (参考网址:https://www.theiphonewiki.com/wiki/Models) + (NSString *)getModel{ struct utsn ...
- Mesos提交任务没有被执行
当通过marathon提交了一个任务后,发现一直处于waiting状态: 回到mesos,执行MASTER=$(mesos-resolve `cat /etc/mesos/zk`) & me ...
- BZOJ3680:吊打XXX
我对模拟退火的理解:https://www.cnblogs.com/AKMer/p/9580982.html 我对爬山的理解:https://www.cnblogs.com/AKMer/p/95552 ...
- Jumony.Core非常厉害的一个开源项目!
简单的说,就是解析html文档的,以前发送一个get请求获取一个页面的html文本后,想要获取里面的数据都是使用正则表达式.(非常的苦逼), 现在用这个获取就very easy! 安装的话在Nu Ge ...
- HTML input 标签不可编辑的 readonly 属性
1 <form action="form_action.asp" method="get"> Name:<input type="t ...