多级菜单

Posted wangmo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多级菜单相关的知识,希望对你有一定的参考价值。

 

  • 三级菜单
  • 可依次选择进入各子菜单
  • 所需新知识点:列表、字典
 1 menu = {
 2     北京:{
 3         海淀:{
 4             五道口:{
 5                 soho:{},
 6                 网易:{},
 7                 google:{}
 8             },
 9             中关村:{
10                 爱奇艺:{},
11                 汽车之家:{},
12                 youku:{},
13             },
14             上地:{
15                 百度:{},
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 }
 1 while True:
 2     for key in menu:
 3         print(key)
 4     choice = input(">>:").strip()
 5     if len(choice) == 0:continue
 6     if choice == "b":break
 7     if choice not in menu:continue
 8 
 9     while True:
10         for key2 in menu[choice]:
11             print(key2)
12         choice2 = input(">>:").strip()
13         if len(choice2) == 0: continue
14         if choice2 == "b": break
15         if choice2 not in menu[choice]: continue
16 
17         while True:
18             for key3 in menu[choice][choice2]:
19                 print(key3)
20             choice3 = input(">>:").strip()
21             if len(choice3) == 0: continue
22             if choice3 == "b": break
23             if choice3 == "q": exit()
24             if choice3 not in menu[choice][choice2]: continue
25 
26             while True:
27                 for key4 in menu[choice][choice2][choice3]:
28                     print(key4)
29                 choice4 = input(">>:").strip()
30                 if len(choice4) == 0: continue
31                 if choice4 == "b": break
32                 if choice4 not in menu[choice][choice2][choice3]: continue
 1 current_level = menu
 2 last_levels = []
 3 while True:
 4     for key in current_level:
 5         print(key)
 6     choice = input(">>:").strip()
 7     if len(choice) == 0: continue
 8     if choice == "b":
 9     #     current_level = last_level #把当前层改成父亲层,这样下一次循环就回到上一层
10         #if not last_levels :break
11         if len(last_levels) == 0 :break
12         current_level = last_levels[-1]
13         last_levels.pop()
14     if choice not in current_level:continue
15     # last_level = current_level #记住当前层
16     last_levels.append(current_level)
17     current_level = current_level[choice] #进入下一层

 

 

  

以上是关于多级菜单的主要内容,如果未能解决你的问题,请参考以下文章

原生JS封装创建多级菜单函数

使用 Jquery 的多级下拉菜单

若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起

每天学一个jquery插件-多级的菜单

python作业-多级菜单

如何使用 Yii 创建多级菜单