python - 建议在没有 switch case 的情况下实现文本菜单

标签 python

我正在迈出 Python 的第一步。我看到我们没有 switch case 语句, 所以我会用 python 实现文本菜单吗?

谢谢

最佳答案

你可能会这样做:

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。

在您对它的工作原理有了基本的了解之后,如果您正在考虑做一个严肃的商业命令行类型的应用程序,我会看看 cmd framework用于命令行应用程序。

关于python - 建议在没有 switch case 的情况下实现文本菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/327597/

相关文章:

python - 重新格式化后,带有类型注释的 VS Code 中的语法突出显示不适用于 Python

python - 在 Python 中 5 秒后停止等待串行响应

Python Pandas 多索引值不会在数据透视表中移动

python - Freebase API (Python) 的授权难题

python - 对每个值有两个嵌套键的 Python 字典求和

Python 3 - Pipenv 无法安装出现错误

python - 如何从本地文件导入环境变量到Django

python - 晨星数据导入不会给出所要求的所有日期价格

python - 从 Python 逐步执行 Simulink 模型

python - 多个类别的出现顺序