1. 程式人生 > >python三級菜單的實現

python三級菜單的實現

move 關系 urn slc items [1] 授權 strip() imp

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017-05-20 2:43
# @Author : wlgo2108
# @Site :
# @File : Menu01.py
# @Software: PyCharm
# @Email : [email protected]

import re
import sys

menu = {
"M:主菜單":{
"L:登錄管理":{
"LU:修改密碼":{},
"LR:密碼復位":{},
"LL:重新登錄":{},
"LH:掛起系統":{}
},
"C:客戶管理":{
"CM:客戶信息管理":{
"CMA:添加客戶":{},
"CMU:更新客戶":{}
},
"CR:客戶關系維護":{}
},
"S:系統管理":{
"SU:用戶管理":{
"SUA:添加用戶":{},
"SUU:更新用戶":{}
},
"SL:權限管理":{
"SLL:授權":{},
"SLC:取消權限":{}
},
"SH:假日參數":{}
}
}
}

his_menu = ["M","M"]
cur_menu = menu
flag = False


def check_menu(menu_dict={},key=""):
if isinstance(menu_dict,dict):
for k,v in menu_dict.items():
if key == k.split(":")[0]:
c_menu = dict(v)
set_his_menu(key)
for k in c_menu:
print(k)
return True
elif isinstance(v,dict):
check_menu(v,key)
return False


def set_his_menu(key) :
his_menu[0] = his_menu[1]
his_menu.remove(his_menu[1])
his_menu.append(key)
print(his_menu)

for k in cur_menu:
print(k)

while not flag:
key = str(input("輸入菜單快捷鍵:")).strip().upper()
if re.match("Q|E",key):
print("退出系統")
sys.exit(0)
elif re.match("B",key):
key = his_menu[0]
check_menu(menu_dict=cur_menu,key=key)
else:
check_menu(menu_dict=cur_menu,key=key)


python三級菜單的實現