zoukankan      html  css  js  c++  java
  • 三级菜单(高大上版)

     1 menu = {
     2     '北京':{
     3         '朝阳':{
     4             '国贸':{
     5                 'CICC':{},
     6                 'HP':{},
     7                 '渣打银行':{},
     8                 'CCTV':{},
     9             },
    10             '望京':{
    11                 '陌陌':{},
    12                 '奔驰':{},
    13                 '360':{},
    14             },
    15             '三里屯':{
    16                 '优衣库':{},
    17                 'apple':{},
    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             '陆家嘴':{
    51                 'CICC':{},
    52                 '高盛':{},
    53                 '摩根':{},
    54             },
    55             '外滩':{},
    56         },
    57         '闵行':{},
    58         '静安':{},
    59     },
    60     '山东':{
    61         '济南':{},
    62         '青岛':{},
    63         '德州':{
    64             '乐陵':{
    65                 '丁务镇':{},
    66                 '城区':{},
    67             },
    68             '平原县':{},
    69         },
    70     },
    71 }
    72 current_layer = menu   #实现动态循环
    73 parent_layers = []   #保存所有父集,最后一个元素永远都是父亲集
    74 while True:
    75     for key in current_layer:
    76         print(key)
    77     choice = input('>>>:').strip()
    78     if len(choice) == 0:continue
    79     if choice in current_layer:
    80         parent_layers.append(current_layer)  #在进入下一层之前,把当前层追加到列表中,当用户选择b的时候就可以取列表的最后一个元素出来
    81         current_layer = current_layer[choice]  #改成了子层
    82     elif choice == 'b':
    83         if parent_layers:
    84             current_layer = parent_layers.pop()  #取出列表的最后一个值,它就是当前层的父亲集
    85     else:
    86         print('无此项')
  • 相关阅读:
    E. 因数串
    三点共圆公式
    B-Suffix Array
    线段树求解连续区间问题
    E. Quantifier Question (拓扑排序求前驱和后继)
    CF1344B Monopole Magnets
    Multiset (权值线段树模版)
    459. 重复的子字符串 next数组
    6.21笔试小结
    canva学习笔记
  • 原文地址:https://www.cnblogs.com/songzhixue/p/9125083.html
Copyright © 2011-2022 走看看