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

day01 作业 三级菜单

时间:2017-10-31 11:17:18      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:sel   选择   二级菜单   else   交互   选项   判断   格式   显示   

‘‘‘
实现功能:做一个三级菜单,根据用户选择显示对应的菜单,可以进入子菜单,也可以返回上一级菜单,可以直接退出

三级菜单格式:   第一级是一个字典
                第二级也是一个字典
                第三级是列表
                    例如:{"shabi":{"shabi1":["shabi11","shabi12"],"shabi2":["shabi21","shabi22"]},"caibi":{"caibi1":["caibi11","caibi12"],"caibi2":["caibi21","caibi22"]}}

‘‘‘


def showMenu(menu,firstLevelMenu,secondMenu):
    ‘‘‘
    根据一级菜单和二级菜单和menu显示对应的菜单选项
    :param menu:    总菜单
    :param firstLevelMenu:  一级菜单,如果要显示一级菜单,此处为None
    :param secondMenu:      二级菜单,如果要显示二级菜单,此处为None
    :return: None
    ‘‘‘
    if firstLevelMenu==None:   #s说明显示的是一级菜单
        for menuItem in menu.keys():
            print(menuItem,end=,)
        print("quit")
    elif secondMenu==None:  #说明显示的是二级菜单
        for menuItem in menu[firstLevelMenu].keys():
            print(menuItem, end=,)
        print("quit,back")
    else:       #说明显示的三级菜单
        for menuItem in menu[firstLevelMenu][secondMenu]:
            print(menuItem, end=,)
        print("back,quit")


menu={"shabi":{"shabi1":["shabi11","shabi12"],"shabi2":["shabi21","shabi22"]},"caibi":{"caibi1":["caibi11","caibi12"],"caibi2":["caibi21","caibi22"]}}  

def userInterface():
    ‘‘‘
    用户交互程序
    :return: None
    ‘‘‘
    currentFirstLevel = None
    currentSecondLevel = None
    while True:
        showMenu(menu,currentFirstLevel,currentSecondLevel)
        useSelect =input("请输入你的选择:")
        if useSelect=="quit":       #无论处在哪一级,只要输入"quit" 就退出
            exit()
        if currentFirstLevel==None and useSelect in menu.keys() : #说明目前处在一级菜单, 并判断用户是否输入正确
            currentFirstLevel=useSelect
            continue
        elif currentFirstLevel!=None and currentSecondLevel == None and useSelect in menu[currentFirstLevel].keys() or useSelect=="back":    #说明目前处在二级菜单,判断用户是否输入正确
            if useSelect=="back":   #用户想返回上一级菜单
                currentFirstLevel=None
                continue
            elif  useSelect in menu[currentFirstLevel].keys():#判断用户是否输入正确
                currentSecondLevel=useSelect
                continue
        print("有病吧")

if __name__ == __main__:
    userInterface()

 

day01 作业 三级菜单

标签:sel   选择   二级菜单   else   交互   选项   判断   格式   显示   

原文地址:http://www.cnblogs.com/LaowangNext/p/7759969.html

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