利用字典和列表实现城市多级菜单

 #coding:utf-8
#利用字典和列表实现城市多级菜单
addrIndex = {"":"北京","":"上海","":"南京","":"福建"}
addrDict = {"北京":["东城区","西城区","大兴区"],"上海":["黄浦区","长宁区","宝山区"],"南京":["玄武区","秦淮区","六合区"],"福建":["龙岩","泉州"]}
while True:
i = 1
#循环打印城市名称
for cs in addrDict.keys():
print("%d.%s" %(i,cs))
i += 1
choIndex = input("请输入你城市编号:") #为每个城市指定编号值,便于判断输入错误和扩展
if choIndex not in addrIndex.keys():
print("输入有误!")
continue
# print(addrDict[addrIndex[choIndex]]) while True:
i = 1
#根据输入的城市编号,获取城市名称,城市名称直接为addrDict字典的key
for pq in addrDict[addrIndex[choIndex]]:
print("%d.%s" %(i,pq))
i += 1
pqCho = input("请输入片区编号,输入q返回上级:") #输入q跳出
if pqCho == "q":
break
#输入正确的值打印,pqCho.isdigit()用于判断输入非q字符串错误
elif pqCho.isdigit() and (int)(pqCho)-1>=0 and (int)(pqCho)-1<=len(addrDict[addrIndex[choIndex]])-1:
print("你选择的是:%s" %(addrDict[addrIndex[choIndex]][(int)(pqCho)-1]))
else:
print("输入有误!")
continue

python3之利用字典和列表实现城市多级菜单的更多相关文章

  1. Python3爬虫 利用百度地图api得到城市经纬度

    有2种方式,第一种是利用urllib , 方法1:利用urllib , 先把url 转成urlcode,然后读取网页,读到网页再用json读取内容,比较麻烦. 可以在浏览器输入,看一下格式. http ...

  2. Python3之利用Cookie模拟登录

    Python3之利用Cookie模拟登录 利用Cookie模拟登录步骤: 1.       在浏览器输入http://demo.bxcker.com,输入用户名和密码登录. 2.登录成功点" ...

  3. python3入门之字典

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍字典,字典也成映射,时python中唯一内建的映射类型.更多详细请点击readmore.下面附有之前的文章: python入门之字符串 ...

  4. python:字典嵌套列表

    Python的字典{ }以键值对的形式保存数据,可以以键来访问字典中保存的值而不能用下标访问.字典中几乎可以包含任意的变量,字典,数列,元组.数列也一样. python的列表[ ]与字典不同,列表通过 ...

  5. python利用or在列表解析中调用多个函数.py

    python利用or在列表解析中调用多个函数.py """ python利用or在列表解析中调用多个函数.py 2016年3月15日 05:08:42 codegay & ...

  6. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  7. wxPython制作跑monkey工具(python3)-带显示设备列表界面

    一. wxPython制作跑monkey工具(python3)-带显示设备列表界面  源代码 Run Monkey.py #!/usr/bin/env python import wx import ...

  8. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

  9. python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件

    python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件 使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPA ...

随机推荐

  1. FCC---Learn How Bezier Curves Work---定义坐标轴点的值,影响斜率,改变速度。具体调试换值既可以体会

    The last challenge introduced the animation-timing-function property and a few keywords that change ...

  2. Android 网络加载通用Loading

    为了用户体验用好,App在网络请求时通常都会显示个进度显示圈圈,提示用户耐心等待,最脍炙人口的莫过于登录啦. 接下来我们就通过Dialog来实现,然后在BaseActivity,BaseFragmen ...

  3. laravel 数据库操作之 DB facade & 查询构造器 & Eloquent ORM

    <?php namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class S ...

  4. python的几个实例程序员节日快乐

    python的几个小实例 有参函数 def login(username, password): name = input("请输入您的姓名").strip() pwd = inp ...

  5. MySQL事务。

    相关资料:https://zhuanlan.zhihu.com/p/70701037        https://zhuanlan.zhihu.com/p/59061106 一.事务. 1.概念.事 ...

  6. Matplotlib基础 可视化绘图 学习笔记

    简单的绘图 1.确定画布并画线 import matplotlib.pyplot as plt #静态绘图 fig = plt.figure() ax = fig.add_subplot(345) # ...

  7. 11. ==和equals方法 & 常量池

    一.使用==来判断两个变量是否相等 1. 如果两个变量是基本类型变量,且都是数值类型,则只要两个变量的值相等,就将返回true 2. 如果两个变量是引用类型变量,则只有它们指向同一个对象时,才返回tr ...

  8. 6.1 Spark SQL

    一.从shark到Spark SQL Hive能够把SQL程序转换成map-reduce程序   可以把Hadoop中的Hive看作是一个接口,主要起到了转换的功能,并没有实际存储数据. Shark即 ...

  9. JS之for循环面试题

    今天同事问了道问题 ,b=; ,b<;++a,++b){ g=a+b } console.log(g) 问输出结果为多少??? 答案:12 这里要知道for循环的条件不管写多少个,必须都满足才可 ...

  10. HAproxy四层TCP负载均衡配置及测试

    --------------------------------------------------centos 7 处理--------------------------------------- ...