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中将list分段并保存为array类型的方法

如下所示: list=[1,2,3,4,5,6,7,8,9,0,11,0,13,14,15,16,17,18,19,20] #把list分为长度为5的4段 for j in rang...

详解pandas如何去掉、过滤数据集中的某些值或者某些行?

详解pandas如何去掉、过滤数据集中的某些值或者某些行?

摘要在进行数据分析与清理中,我们可能常常需要在数据集中去掉某些异常值。具体来说,看看下面的例子。 0.导入我们需要使用的包 import pandas as pd pandas是很常...

python3文件复制、延迟文件复制任务的实现方法

python3文件复制、延迟文件复制任务的实现方法

使用python版本3.6.1 工作中测试客户端传输报文速率,写了以下两个脚本。 第一个,简单的复制文件并重命名。 第二个,在循环中增加延时的功能。 使用场景将文件复制并重命名(重...

在Python中利用pickle保存变量的实例

在Python中利用pickle保存变量的实例

在工作中出于某些原因,我们可能需要将变量保存下来,这样下次就可以直接去赋值而不用重新执行某些重复耗时的操作了,这里我们用到了Python的pickle包来做变量的存储和变量加载,大家注意...

详解如何使用Python编写vim插件

前言 vim是个伟大的编辑器,不仅在于她特立独行的编辑方式,还在于她强大的扩展能力。然而,vim自身用于写插件的语言vimL功能有很大的局限性,实现功能复杂的插件往往力不从心,而且运行效...