码迷,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
迷上了代码!