多级菜单

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. opencv::图像矩(Image Moments)

    矩的概念介绍 1.几何矩 2.中心距 3.中心归一化距 4.图像中心Center(x0, y0) 计算矩 moments( InputArray array, // 输入数据 bool binaryI ...

  2. Myeclipse 反编译工具插件

    JadClipse是java的反编译工具,是命令行执行,反编译出来的源文件可读性较高.可惜用起来不太方便.还好 找到myeclipse下的插件,叫JadClipse,安装好之后,只要双击.class文 ...

  3. 重装系统快速恢复使用习惯(各种图标摆放位置、环境变量、C盘可能存放的文件备份、编辑器配置、语言环境导出)

    目录 电脑重装系统注意点 - 尽可能快速恢复你熟悉的 windows 基本使用场景 最好截图的点 常见文件拷贝 入口 查看桌面图标.快捷方式有哪些 程序员大合集 环境变量相关 pycharm 快捷键等 ...

  4. .NETCore下CI/CD之自动化测试

    前言 为了呼应<中国.NET开发者峰会2019上海站>,作为演讲嘉宾,我希望和各位同行建立更多的互动,为此,我特地将部分演讲内容,整理成文章先行发布.本文从零开始,一步一步的引导,从安装J ...

  5. Ribbon - Customizing the Ribbon Client

    自定义Ribbon算法 自定义Ribbon 官网文档链接    Ribbon github源码地址 <!--ribbon配置--> <dependency> <group ...

  6. linux 基本操作--笔记

    linux 基本操作: pwd 显示当前目录 ll 用于查看文件和目录,即list,其参数比较多 -l 列出数据串,包含文件的属性和权限数据等 -a 列出全部文件,包含隐藏文件 -d 仅列出目录本身, ...

  7. JSONP安全防御要点

    严格安全地实现CSRF方式调用JSON文件:限制Referer.部署一次性token等. 严格安装JSON格式标准输出Content-Type及编码(Content-Type: application ...

  8. OptimalSolution(2)--二叉树问题(4)子树与拓扑结构

    一.判断t1树是否包含t2树全部的拓扑结构 1 / \ 2 3 2 / \ / \ / \ 4 5 6 7 4 5 / \ / / 8 9 10 8 返回:true 解法(O(M×N)):如果t1中某 ...

  9. 简要概括java技术体系

    以前一直在学java程序设计语言,学完了就以为自己已经把java学得差不多了,直到最近在看一本书<深入理解java虚拟机>,才发现自己以前学的只不过是冰山一角.相信很多小伙伴跟我一样,在没 ...

  10. 10、pytest -- skip和xfail标记

    目录 1. 跳过测试用例的执行 1.1. @pytest.mark.skip装饰器 1.2. pytest.skip方法 1.3. @pytest.mark.skipif装饰器 1.4. pytest ...