编写程序实现中文级联菜单,建议可以使用pypinyin或其它扩展库
# 一、定义菜单内容
map_list ={
'C盘':{
"program":{
"Microsoft Office":\["IntegratedOffice.exe","OfficeClickToRun.exe"\],
"Microsoft SDKs":\["locales","resources"\]
},
"Windows Media Player":{
"Media Renderer":\["avtransport.xml","connectionmanager_dmr.xml"\],
"Network Sharing":\["ConnectionManager.xml","ContentDirectory.xml"\]
},
"Windows NT": {
"Accessories": \["en-US", "zh-CN"\],
"TableTextService": \["TableTextServiceArray.txt", "TableTextServiceDaYi.txt"\]
}
},
'D盘': {
"课程": {
"高数": \["高数一", "高数二"\],
"c++": \["第一章概轮", "第二章"\]
},
"活动": {
"青马培训": \["线上笔记", "课后练习"\],
"软件杯": \["题目选择", "项目"\]
},
"作业":{
"高数": \["高数一", "高数二"\],
"操作系统": \["课后作业", "实验"\]
},
},
'E盘': {
"QQ": {
"All Users": \["1161851172", "Registry2.0.db"\],
"MobileFile": \["Image", "mpFile"\]
},
"WeChat": {
"Tencent": \["\[3.6.0.18\]", "appletPath.txt"\],
"WeChat Files": \["All Users", "Applet"\]
},
"Hadoop2.7.1": {
"bin": \["container-executor", "hadoop"\],
"data": \["datanode", "namenode"\]
},
},
}
while True:
for menu_list in map_list: #定义一级联菜单,将已经完成级联的菜单传给新定义的数值menu_list
print(menu_list) #打印一级菜单
# -------------------------------------------------------------------------------打印第一层输出,打印磁盘
chose_list = input("选择进入1>>:") #将用户输入定义为chose_list
if chose_list in map_list: #判断用户输入,如果用户输入的数据在定义的字典里面,则为真
while True:
for menu_list1 in map_list\[chose_list\]: #定义二级菜单menu_list1,如果用户输入的这个菜单在一级菜单里面,则进行打印
print("\\t",menu_list1)
# -------------------------------------------------------------------------------打印第二层输出,打印文件夹
chose_list1 = input("选择进入2>>:") #将用户输入定义为chose_list1
if chose_list1 in map_list\[chose_list\]: #判断用户输入,如果用户输入的数据在定义的字典里面,则为真
while True:
for menu_list2 in map_list\[chose_list\]\[chose_list1\]: #定义三级菜单menu_list2,如果用户输入的这个菜单在二级菜单里面,则进行打印
print("\\t\\t",menu_list2)
# -------------------------------------------------------------------------------打印第三层输出,打印子文件夹
chose_list2 = input("选择进入3>>:") #将用户输入定义为chose_list2
if chose_list2 in map_list\[chose_list\]\[chose_list1\]: #判断用户输入,如果用户输入的数据在定义的字典里面,则为真
for menu_list3 in map_list\[chose_list\]\[chose_list1\]\[chose_list2\]: #定义三级菜单menu_list3,如果用户输入的这个菜单在一级、二级、三级菜单里面,则进行打印
print("\\t\\t\\t",menu_list3)
# -------------------------------------------------------------------------------打印第三层区县里面所包含的具体文件夹或者文件
chose_list3 = input("最后一层,按b进行返回。>>:") #判断用户是否需要返回,返回上一层级
if chose_list3 == 'b':
break
# -------------------------------------------------------------------------------添加判断,来进行确认终端用户是否想要返回上级菜单。也就是返回上一级文件夹
if chose_list2 == 'b': #判断用户是否返回
break
# -------------------------------------------------------------------------------添加判断,来进行确认终端用户是否想要返回上级菜单。也就是返回上一级文件夹
if chose_list1 == 'b': #判断用户是否返回
break
浙公网安备 33010602011771号