python三级菜单的实现

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

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)


posted @ 2017-05-28 00:26  wlgo2108  阅读(206)  评论(0编辑  收藏  举报