1、三级菜单

china_ditie = {
"北京": {
"一号线": ["四惠", "大望路", "天安门", "西单"],

"二号线": ["北京站", "朝阳门", "东直门", "西直门"],

"三号线": ["国贸", "三元桥", "知春路", "巴沟"]

},
"上海": {
"四号线": ["徐家汇", "人民广场", "延长路", "共康路", "呼兰路"],

"五号线": ["东昌路", "静安寺", "江苏路", "虹桥火车站"],

"六号线": ["宝山路", "赤峰路", "曹阳路", "虹桥路", "宜山路"]

},
"广州": {
"七号线": ["东山口", "农讲所", "烈士陵园", "公园前", "体育西路"],

"八号线": ["黄边", "纪念堂", "三元里", "白云公园"],

"九号线": ["沙河顶", "北京路", "一德路", "文化公园"]

},
"深圳": {
"一号线": ["高新园", "桃园", "白石洲", "华侨城"],

"四号线": ["白石龙", "明乐", "少年宫", "红山"],

"五号线": ["大学城", "兴东", "西里", "深圳北站"]

},

}#程序开始

完美实现

  1. def threelm(dic):
  2. while True:
  3. for k in dic:
  4. print(k)
  5. key=input(">>>").strip()
  6. if key=="b" or key=="q":
  7. return key
  8. elif key in dic.keys() and dic[key]:
  9. ret=threelm(dic[key])
  10. if ret=="q":
  11. return q
  12. elif (not dic.get(key)) or (not dic[key]):
  13. continue
  14.  
  15. china_ditie = {
  16. "北京": {
  17. "一号线": ["四惠", "大望路", "天安门", "西单"],
  18.  
  19. "二号线": ["北京站", "朝阳门", "东直门", "西直门"],
  20.  
  21. "三号线": ["国贸", "三元桥", "知春路", "巴沟"]
  22.  
  23. },
  24. "上海": {
  25. "四号线": ["徐家汇", "人民广场", "延长路", "共康路", "呼兰路"],
  26.  
  27. "五号线": ["东昌路", "静安寺", "江苏路", "虹桥火车站"],
  28.  
  29. "六号线": ["宝山路", "赤峰路", "曹阳路", "虹桥路", "宜山路"]
  30.  
  31. },
  32. "广州": {
  33. "七号线": ["东山口", "农讲所", "烈士陵园", "公园前", "体育西路"],
  34.  
  35. "八号线": ["黄边", "纪念堂", "三元里", "白云公园"],
  36.  
  37. "九号线": ["沙河顶", "北京路", "一德路", "文化公园"]
  38.  
  39. },
  40. "深圳": {
  41. "一号线": ["高新园", "桃园", "白石洲", "华侨城"],
  42.  
  43. "四号线": ["白石龙", "明乐", "少年宫", "红山"],
  44.  
  45. "五号线": ["大学城", "兴东", "西里", "深圳北站"]
  46.  
  47. },
  48.  
  49. }#
  50. print(threelm(china_ditie))

python练习题-day21的更多相关文章

  1. Python练习题 028:求3*3矩阵对角线数字之和

    [Python练习题 028] 求一个3*3矩阵对角线元素之和 ----------------------------------------------------- 这题解倒是解出来了,但总觉得 ...

  2. Python练习题 027:对10个数字进行排序

    [Python练习题 027] 对10个数字进行排序 --------------------------------------------- 这题没什么好说的,用 str.split(' ') 获 ...

  3. Python练习题 026:求100以内的素数

    [Python练习题 026] 求100以内的素数. ------------------------------------------------- 奇怪,求解素数的题,之前不是做过了吗?难道是想 ...

  4. Python练习题 025:判断回文数

    [Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. ---------------------------------------- ...

  5. Python练习题 024:求位数及逆序打印

    [Python练习题 024] 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. ---------------------------------------------- ...

  6. Python练习题 004:判断某日期是该年的第几天

    [Python练习题 004]输入某年某月某日,判断这一天是这一年的第几天? ---------------------------------------------- 这题竟然写了 28 行代码! ...

  7. Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。

    Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...

  8. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

  9. python 基础 2.8 python练习题

    python 练习题:   #/usr/bin/python #coding=utf-8 #@Time   :2017/10/26 9:38 #@Auther :liuzhenchuan #@File ...

随机推荐

  1. java连接163邮箱发送邮件

    一:jar包:下载链接:链接: http://pan.baidu.com/s/1dDhIDLv 密码: ibg5二:代码 1-------------------------------------- ...

  2. 原生javascript实现阻止浏览器默认行为与阻止事件冒泡

    不同的浏览器之间存在兼容问题,在IE与标准浏览器之间存在很大的差异,所以在实现阻止浏览器默认行为和阻止事件冒泡就要考虑要它们之间的不同 /** * 取消冒泡 * @param {事件} e */ fu ...

  3. Java的家庭记账本程序(L)

    日期:2019.3.13 博客期:044 星期三 整理了两天,我终于也是把微信小程序平台的记账本软件完全开发出来了,并将我的微信账号与GitHub账号完成了绑定,那么我就先展示一部分作品,还有一部分代 ...

  4. springboot配置文件priperties大全

    flyway.baseline-description 执行基线时标记已有Schema的描述. flyway.baseline-on-migrate 在没有元数据表的情况下,针对非空Schema执行迁 ...

  5. RSF 分布式 RPC 服务框架的分层设计

    RSF 是个什么东西? 一个高可用.高性能.轻量级的分布式服务框架.支持容灾.负载均衡.集群.一个典型的应用场景是,将同一个服务部署在多个Server上提供 request.response 消息通知 ...

  6. Python-数据类型之列表

    列表和元祖都属于序列类型,该序列内可以包含任意数据类型,且数据存储是有序的,索引从0到1 一:列表概述 1.1  如何定义一个列表 中括号,已逗号为分割符,可以放任意的数据类型,甚至是对象. li = ...

  7. 烽火R2600交换机配置脚本

    烽火交换机端口映射配置 ip nat inside source static udp iP 端口号 公网iP 端口号 ip nat inside source interface Vlan-intf ...

  8. MySQL和B树的那些事

    一.零铺垫 在介绍B树之前,先来看另一棵神奇的树——二叉排序树(Binary Sort Tree),首先它是一棵树,“二叉”这个描述已经很明显了,就是树上的一根树枝开两个叉,于是递归下来就是二叉树了( ...

  9. const 成员函数

    我们知道,在成员函数中,如果没有修改成员变量,应该给成员函数加上 const 修饰符,例如 #include <iostream> using namespace std; class F ...

  10. JS语法转换-ES6转ES5

    1.使用Babel转码 全局安装 npm install -g babel-cli 布局安装 npm install -g babel-cli --save-dev Babel的配置文件是.babel ...