美文网首页
多级菜单

多级菜单

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-08-28 08:00 被阅读0次

Ps:

def get_cpu():                                                         #定义函数get_cpu
    print("This is cpu info")

def get_mem():                                                      #定义函数get_mem
    print("This is mem info")

def get_disk():                                                       #定义函数get_disk
    print("This is disk info")

def get_ej_1():                                                       #定义函数get_ej_1
    print("这是二级菜单的第一项")

def get_ej_2():                                                       #定义函数get_ej_2
    print("这是二级菜单的第二项")

def get_sj_1():                                                       #定义函数get_ej_1
    print("这是三级菜单的第一项")

def get_sj_2():                                                       #定义函数get_ej_2
    print("这是三级菜单的第二项")

thired_ji = {
    '1': ['三级菜单第一项', get_sj_1,''],
    '2': ['三级菜单第二项', get_sj_2,'']
}

er_ji = {                                                                 #定义二级菜单字典
    '1': ['二级菜单第一项', get_ej_1,''],
    '2': ['二级菜单第二项', get_ej_2,''],
    '3': ['我有三级菜单','',thired_ji]
}

menu = {                                                               #定义主菜单字典
  '1': ["cup info",get_cpu, ''],
  '2': ["meme info",get_mem,''],
  '3': ["disk info",get_disk,''],
  '4': ['我有二级菜单', '', er_ji]
}

current_menu = menu                                             #将主菜单赋值给中间量
menu_level = []
while True:                                                   
    for key,val in current_menu.items():                     #取到主菜单的选项信息
       print(key, val[0])
    inp  =  input("请选择>:")                                     #接收输入值
    if inp in  current_menu:                              
        f = current_menu[inp][1]                                 #取到当时中间值所代表的字典的函数位
        if f:
           f()                                                               #执行函数
        else:
            menu_level.append(current_menu)
            current_menu = current_menu[inp][2]           #将下一级菜单给到中间值
    elif inp is 'q' :
        if menu_level:                                                  #判断列表里是否为空,因为为空时pop会报错
            current_menu = menu_level.pop()

相关文章

网友评论

      本文标题:多级菜单

      本文链接:https://www.haomeiwen.com/subject/amoeectx.html