【Pthon入门学习】多级菜单小例子
生活随笔
收集整理的這篇文章主要介紹了
【Pthon入门学习】多级菜单小例子
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 menu_list = {
2 '北京':{
3 '昌平':{
4 '回龍觀':{
5 '和諧家園':{},
6 '矩陣小區(qū)':{},
7 '北店家園':{}
8 },
9 '沙河':{
10 '北街家園1區(qū)':{},
11 '北街家園2區(qū)':{},
12 '北師大附小':{}
13 }
14 },
15 '海淀':{
16 '西二旗':{
17 '云端時代':{},
18 '百度':{},
19 '軟件園':{}
20 },
21 '西三旗':{
22 '上地五街':{},
23 '上地三街':{},
24 '方正集團':{}
25 }
26 }
27 },
28 '邯鄲':{
29 '叢臺區(qū)':{
30 '黃粱夢':{
31 '東官莊':{},
32 '王李莊':{}
33 },
34 '沙河':{
35 '北街家園1區(qū)1':{},
36 '北街家園2區(qū)2':{},
37 '北師大附小3':{}
38 }
39 },
40 '復(fù)興區(qū)':{
41 '永年':{
42 '云端時代1':{},
43 '百度2':{},
44 '軟件園3':{}
45 },
46 '肥鄉(xiāng)':{
47 '上地五街1':{},
48 '上地三街2':{},
49 '方正集團3':{}
50 }
51 }
52 },
53 }
54 map_list = []
55 cur_layer_pos = 0
56 cur_layer_keys = []
57 cur_layer_keys_values = []
58 is_exit = False
59 is_not_next = True
60 while not is_exit:
61 if is_not_next:
62 if cur_layer_pos == 0:
63 cur_layer_keys = menu_list.keys()
64 else:
65 cur_layer_keys = map_list[cur_layer_pos - 1][1].keys()
66
67 if len(cur_layer_keys) > 0:
68 is_not_next = True
69 print('可以進入的下一級菜單顯示:', list(cur_layer_keys))
70 else:
71 print("已經(jīng)到菜單底部啦,只能輸入p返回上一級菜單")
72 cur_menu_name = input('請輸入菜單名:')
73 if cur_menu_name.lower() == 'p':
74 if cur_layer_pos > 0:
75 map_list.pop()
76 cur_layer_pos -= 1
77 is_not_next = True
78 else:
79 print('已經(jīng)到頂級菜單啦.')
80 elif cur_menu_name.lower() == 'q':
81 is_exit = True
82 elif cur_menu_name in cur_layer_keys:
83 map_list.append([cur_menu_name, menu_list[cur_menu_name] if cur_layer_pos == 0 else map_list[cur_layer_pos - 1][1][cur_menu_name]])
84 cur_layer_pos += 1
85 else:
86 if len(cur_layer_keys) > 0:
87 print("請輸入正確的菜單名稱...")
88 else:
89 is_not_next = False
90 print("已經(jīng)到菜單底部啦,只能輸入p返回上一級菜單")
91 print('當(dāng)前所在的位置:', [_map[0] for _map in map_list])
92 View Code
多級菜單的要求如下:
1. 可以依次進入子菜單
2. 任意級菜單均可返回上一級
3. 任意級菜單均可退出程序
主要是鍛煉列表和字典數(shù)據(jù)類型
三級菜單實現(xiàn)可以如下:
http://www.cnblogs.com/bg0131/p/6416816.html
轉(zhuǎn)載于:https://www.cnblogs.com/yongqiangyue/p/8717078.html
總結(jié)
以上是生活随笔為你收集整理的【Pthon入门学习】多级菜单小例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python数据分析几个比较常用的方法
- 下一篇: C语言复习(二)