zoukankan      html  css  js  c++  java
  • python 字典实现三级菜单

    简介:1.用字典建立一个省市县的三级菜单

       2.开始显示所有的省份,输入要进入的省份之后,显示该省份下的所有市,输入市显示该市下的所有县

       3.在每一级菜单下都可以返回到上一层菜单

       4.随时可以退出

     1 menu = {
     2     "北京": {
     3         "海淀": {
     4             "清华":{},
     5             "北大":{},
     6             "人大":{}
     7         },
     8         "朝阳": {
     9             "腾讯":{},
    10             "百度":{},
    11             "阿里":{}
    12         },
    13         "通州": {
    14             "防灾":{},
    15             "华科":{}
    16         }
    17     },
    18     "甘肃": {
    19         "庆阳": {
    20             "环县":{},
    21             "宁县":{}
    22         },
    23         "白银": {
    24             "白银1县": {},
    25             "白银2县": {},
    26             "白银3县": {}
    27         },
    28         "武威": {
    29             "武威1县": {},
    30             "武威2县": {},
    31             "武威3县": {},
    32             "武威4县": {}
    33         }
    34     },
    35     "河北": {
    36         "廊坊": {
    37             "廊坊1县": {},
    38             "廊坊2县": {},
    39             "廊坊3县": {}
    40         },
    41         "承德": {
    42             "承德1县": {},
    43             "承德2县": {},
    44             "承德3县": {}
    45         },
    46         "保定": {
    47             "保定1县": {},
    48             "保定2县": {},
    49             "保定3县": {}
    50         }
    51     }
    52 }
    53 
    54 current_layer = menu    # 实现动态循环
    55 parent_layers = []      # 保存所有所有父级 最后一个元素永远都是父亲级
    56 while True:
    57     for key in current_layer:
    58         print(key)
    59     choice = input(">>>:")
    60     if len(choice) == 0:
    61         continue
    62     if choice in current_layer:
    63         parent_layers.append(current_layer)  # 在进入下一层前,把当前层(也就是下一层的父级)
    64         # 追加到列表中,下一次loop,当用户选择Q时,直接取列表的最后一个值出来
    65         current_layer = current_layer[choice]   # 改成子层
    66     elif choice == "Q":
    67         if parent_layers:
    68             current_layer = parent_layers.pop()  # 取出列表的最后一个元素,因为它就是当前层的父级
    69     else:
    70         print("无此项")
    三级菜单
  • 相关阅读:
    异常
    动态链接库与静态链接库的区别
    OpenBLAS 安装与使用
    Eigen 优化技巧
    C++读取保存为二进制的 numpy 数组
    Sublime Text Windows版使用Conda环境
    Repeater 时间格式化
    C#与js的各种交互
    js 实现精确加减乘除
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/ss-long/p/10291714.html
Copyright © 2011-2022 走看看