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 作业 三级菜单的主要内容,如果未能解决你的问题,请参考以下文章