Python字典实现简单的三级菜单(实例讲解)

yipeiwu_com6年前Python基础

如下所示:

data = {
 "北京":{
  "昌平":{"沙河":["oldboy","test"],"天通苑":["链接地产","我爱我家"]},
  "朝阳":{"望京":["奔驰","陌陌"],"国贸":["CICC","HP"],"东直门":["advent","飞信"]},
  "海淀":{}
 },
 "山东":{
  "德州":{},
  "青岛":{},
  "济南":{}
 },
 "广东":{
  "东莞":{},
  "常熟":{},
  "佛山":{}
 }
}
exit_flag = False
while not exit_flag:
 for i in data:
  print(i)
 choice_s = input("请输入以上任一省或直辖市名称>>>:")
 if choice_s in data:
  while not exit_flag:
   for i in data[choice_s]:
    print("\t",i)
   choice_q = input("请输入以上任一市区名称>>>:")
   if choice_q in data[choice_s]:
    while not exit_flag:
     for i in data[choice_s][choice_q]:
      print("\t\t",i)
     choice_j = input("请输入以上任一街道名称>>>:")
     if choice_j in data[choice_s][choice_q]:
      for i in data[choice_s][choice_q][choice_j]:
       print("\t\t",i)
      last = input("最后一层,按b返回>>>:")
      if last == "b":
       pass
      elif last == "q":
       exit_flag = True
     if choice_j == "b":
      break
     elif choice_j == "q":
      exit_flag = True
   if choice_q == "b":
    break
   elif choice_q == "q":
    exit_flag = True

要点:

1、字典的层级关系

2、break是终止本次循环,pass是什么也不做,一个占位符而已

3、巧妙使用exit_flag = False

以上这篇Python字典实现简单的三级菜单(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python实现交叉验证法与留出法

详解python实现交叉验证法与留出法

在机器学习中,我们经常在训练集上训练模型,在测试集上测试模型。最终的目标是希望我们的模型在测试集上有最好的表现。 但是,我们往往只有一个包含m个观测的数据集D,我们既要用它进行训练,又要...

Python字符串拼接的几种方法整理

Python字符串拼接的几种方法整理

Python字符串拼接的几种方法整理 第一种 通过加号(+)的形式 print('第一种方式通过加号形式连接 :' + 'love'+'Python' + '\n') 第二种 通...

python中while和for的区别总结

Python中for循环和while循环本质上是没有区别的,但是在实际应用上,针对性不太一样。 while循环适用于未知循环次数的循环,for循环适用于已知循环次数的循环 。 for主...

通过实例解析python描述符原理作用

这篇文章主要介绍了通过实例解析python描述符原理作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 本质上看,描述符是一个类,只不...

在RedHat系Linux上部署Python的Celery框架的教程

在RedHat系Linux上部署Python的Celery框架的教程

 Celery (芹菜)是基于Python开发的分布式任务队列。它支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。 架构设计  Celery的架构由...