当前位置:  开发笔记 > 编程语言 > 正文

建议在没有开关的情况下实现文本菜单

如何解决《建议在没有开关的情况下实现文本菜单》经验,为你挑选了2个好方法。

我正在迈出第一步.我看到我们没有switch case语句,所以我想你们在python中实现一个文本菜单?

谢谢



1> Paul Fisher..:

你可能会这样做:

def action1():
    pass # put a function here

def action2():
    pass # blah blah

def action3():
    pass # and so on

def no_such_action():
    pass # print a message indicating there's no such action

def main():
    actions = {"foo": action1, "bar": action2, "baz": action3}
    while True:
        print_menu()
        selection = raw_input("Your selection: ")
        if "quit" == selection:
            return
        toDo = actions.get(selection, no_such_action)
        toDo()

if __name__ == "__main__":
    main()

这会将所有可能的操作函数放入字典中,键是您输入的用于运行函数的键.然后它从列表中检索动作输入动作,除非输入动作不存在,在这种情况下它检索no_such_action.

在您基本了解其工作原理后,如果您正在考虑使用Serious Business命令行类型的应用程序,我将查看命令行应用程序的cmd框架.



2> Ali Afshar..:

一般来说,如果elif很好,但如果你有很多案件,请考虑使用dict.

actions = {1: doSomething, 2: doSomethingElse}
actions.get(n, doDefaultThing)()

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有