三级菜单

Posted twinkle-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三级菜单相关的知识,希望对你有一定的参考价值。

menu = {
    大一:{
        学科:{
            c语言:{},
            物联网概论:{},
            初识python: {},
            操作系统:{}
        },
        娱乐:{
            运动会:{},
            实验室:{},
            学生会:{}
        }
    },
    大二: {
        课程: {
            计算机组成原理: {},
            数据结构: {},
            单片机: {},
            计算机网络:{}
        },
        兼职:{
            家教:{},
            进厂:{},
            服务员:{}
        }
    },
    大三: {
        自学: {
            python: {},
            数据结构: {},
            前端: {},
            数据库:{}
        },
        经历:{
            找实习:{},
            实习:{}
        }
    }
}

# 方法一:用递归的方式
def ThreeMenu(dic):
    while 1:
        for key in dic:print(key)
        key = input(>>>).strip()
        if key == b or key == q:return key
        elif key in dic.keys() and dic[key]:
            res = ThreeMenu(dic[key])
            if res == q: return q
        elif (not dic.get(key)) or (not dic[key]):
            continue
ThreeMenu(menu)


#方法二:用堆栈的方式
l = [menu]
while l:
    for key in l[-1]:print(key)
    k = input(input>>).strip()   # 北京
    if k in l[-1].keys() and l[-1][k]:
        l.append(l[-1][k])
    elif k == b:l.pop()
    elif k == q:break

 

以上是关于三级菜单的主要内容,如果未能解决你的问题,请参考以下文章

python-三级菜单和购物车程序代码(补发)

TreeUtils工具类一行代码实现列表转树 实战Java8 三级菜单 三级分类 附视频

1-2 三级菜单

Python 三级菜单

代码段-- 三级菜单 (基础版)

三级菜单-2018.2.21