多级菜单

1 三级菜单

2 可依次选择进入各子菜单

3 所需新知识点,列表,字典

province_info = {"":{"name":"黑龙江",
"city":{"":{"name":"哈尔滨","area":"道里区、南岗区、道外区、平房区、松北区、香坊区、呼兰区、阿城区、双城区"},
"":{"name":"齐齐哈尔市","area":"龙沙区、建华区、铁锋区、富拉尔基区、昂昂溪区、碾子山区、梅里斯达斡尔族区"},
"":{"name":"鸡西市","area":"鸡冠区、恒山区、滴道区、梨树区、城子河区、麻山区、鸡东县、虎林市、密山市"},
"":{"name":"返回"},
"":{"name":"退出"}}},
"":{"name":"吉林",
"city":{"":{"name":"长春", "area":"朝阳、南关、宽城、绿园、二道、双阳"},
"":{"name":"吉林", "area":"昌邑区、船营区、龙潭区、丰满区"},
"": {"name": "返回"},
"": {"name": "退出"}}},
"":{"name":"辽宁",
"city":{"":{"name":"沈阳", "area":"沈河区,和平去,大东区,皇沽区,铁西新区"},
"":{"name":"铁岭", "area":"开发区、新城区、银州区、清河区"},
"": {"name": "返回"},
"": {"name": "退出"}}}} menuinfo = """
1 黑龙江省
2 吉林省
3 辽宁省
0 退出""" province = 1
city = 1
area = 1
while province :
city = 1
area = 1
print(menuinfo)
province_number = input("请输入要查看的省份编号:")
if province_number=="" :
print("你选择了退出,再见!")
break
if province_number not in province_info.keys() :
print("无此省份编号,请输入以下省份编号或选【0】退出。")
continue
while city :
area = 1
#获取省份下的城市名称
d_citys = province_info.get(province_number);
while area:
print("\t{name}有如下城市:".format(name=d_citys.get("name")))
for k, value in d_citys.get("city").items():
print("\t\t{number} {city}".format(number=k,city=value.get("name")))
city_number = input("\t\t请输入要查看的城市的编号:")
if city_number == "":
print("你选择了退出,再见!")
province = 0
city = 0
break;
if city_number == "":
city = 0
area = 0
break
if city_number not in d_citys.get("city").keys():
print("无此城市编号,请输入以下城市编号或选【9】返回,【0】退出。")
continue
print("\t\t\t" + d_citys.get("city").get(city_number).get("area"))

python day 1 homework 2的更多相关文章

  1. python day 1 homework 1

    作业一要求: 1 输入用户名密码 2 认证成功后显示欢迎信息 3 输错三次后锁定 import os #生成保存用户信息的字典 d_userinfo = {} #保存用户登录字典 input_logi ...

  2. Python Homework 001

    1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 import getpass 5 name = "xilong" 6 pas ...

  3. 【Python】Coding the Matrix:Week 5: Dimension Homework 5

    这一周的作业,刚压线写完.Problem3 没有写,不想证明了.从Problem 9 开始一直到最后难度都挺大的,我是在论坛上看过了别人的讨论才写出来的,挣扎了很久. Problem 9在给定的基上分 ...

  4. python面向对象一

    1.1三种编程方法论 1.面向过程:把复杂的任务一步一步分解成简单的任务. 2.函数式编程:思想上接近于数学运算,根据某种方式,根据方式得出的结果. 3.面向对象编程:一种编程方式,需要使用" ...

  5. Python的平凡之路(13)

    一.Python的paramiko模块介绍 Python 的paramiko模块,该模块和SSH用于连接远程服务器并执行相关操作 SSH client 用于连接远程服务器并执行基本命令 基于用户名和密 ...

  6. python学习心得第一章

    初始python 1什么是程序 计算机程序是一组执行某种动作的的指令.和那些电路.芯片.显卡.硬盘等不同,它不是计算机本身可以触摸的部分,而是隐藏在背后运行在硬件上面的东西.程序就是一系列告诉没有知觉 ...

  7. Python之路【第七篇续】:I/O多路复用

    回顾原生Socket 一.Socket起源: socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用[打开][读写][关闭]模式来操作. socket就是该模式的 ...

  8. Python之路【第六篇】:面向对象编程相关

    判断类与对象关系 isinstance(obj, cls)  判断对象obj是否是由cls类创建的 #!/usr/bin/env python #-*- coding:utf-8 -*- class ...

  9. Python之路【第四篇补充】:面向对象初识和总结回顾

    面向过程的编程 面向过程:根据业务逻辑从上到下写垒代码! 例子: 需求一.有一个程序需要做身份认证: 用户名有个字典: #定义一个用户名信息字典 user_info = { "zhangsa ...

随机推荐

  1. Halcon一日一练:创建AOI

    AOI:Area Of Interesting.感兴趣区域,即你要处理的区域. 一般情况,一整张图像,我们需要对局部进行操作,我们会选择一个我们需要处理的区域,对其进行处理,其他区域进行屏蔽.这个区域 ...

  2. ajax 轮询(适合web端二维码请求)

    (前几天 一直弄二维码轮询登录 想了半天 总算弄出来了 分享给大家    ^-^) 轮询: 所谓轮询 肯定需要 setInterval   但是怎么加ajax请求  需要有点小问题而且轮询成功后需要停 ...

  3. centos 7.6修改ssh端口,设置防火墙规则

    一.修改ssh端口 1 使用 root 用户进入 /etc/ssh目录 2 备份ssh配置文件 cp sshd_config sshd_config-bak 3 使用 vim 打开 sshd_conf ...

  4. 【网络安全】SQL注入、XML注入、JSON注入和CRLF注入科普文

    目录 SQL注入 一些寻找SQL漏洞的方法 防御SQL注入 SQL注入相关的优秀博客 XML注入 什么是XML注入 预防XML注入 JSON注入 什么是JSON注入 JSON注入的防御 CRLF注入 ...

  5. 实用Linux控制台命令

    实用Linux控制台命令 screen 例如用Xshell连接 服务器 screen -ls 列出当前用户所有的screen screen 回车直接创建新的screen screen -S scree ...

  6. linux端口查询

    常用端口 下面的表格中列举了包括在红帽企业 Linux 中的服务.守护进程.和程序所使用的最常见的通信端口.该列表还可以在 /etc/services 文件中找到.要查看由互联网号码分派局(IANA) ...

  7. Django中ORM的优化

    1. exists( ) 什么时候用 count( ) 和 len( )什么时候合适, 用values( )或values_list( )只取需要的列的数据 iterator()对数据对象生成迭代器, ...

  8. OptimalSolution(9)--其他问题(2)

    一.有关阶乘的两个问题 二.最大的leftMax与rightMax之差的绝对值 三.路径数组变为统计数组 四.一种字符串和数字的对应关系 五.1到n中1出现的次数 六.数字的英文表达和中文表达 七.分 ...

  9. NetworkManager网络通讯_NetworkManager(二)

    本文主要来实现一下自定UI(实现HUD的功能),并对Network Manger进行深入的讲解. 1)自定义manager 创建脚本CustomerUnetManger,并继承自NetworkMang ...

  10. ansible模块之command、shell、script、file、copy、fetch

    前戏 ansible 批量在远程主机上执行命令 openpyxl 操作excel表格 puppet ansible slatstack ansible epel源 第一步: 下载epel源 wget ...