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()