day01 作业 三级菜单

Posted

tags:

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

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

三级菜单格式:   第一级是一个字典
                第二级也是一个字典
                第三级是列表
                    例如:{"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 作业 三级菜单的主要内容,如果未能解决你的问题,请参考以下文章

Day4.优化三级菜单+作业题

Day1作业-三级菜单

Day2课后作业:三级菜单简单版

day1_作业2(三级菜单)--改进版

Python 基础 - Day 1 Assignment - Three tier menu 三级菜单

day1作业二:多级菜单