码迷,mamicode.com
首页 > 其他好文 > 详细

三级菜单

时间:2019-03-17 14:09:02      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:class   bsp   娱乐   color   计算机   continue   初识python   int   运动   

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

 

三级菜单

标签:class   bsp   娱乐   color   计算机   continue   初识python   int   运动   

原文地址:https://www.cnblogs.com/twinkle-/p/10546233.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!