【问题标题】:Python equivalent for batch Choice command批处理选择命令的 Python 等效项
【发布时间】:2013-09-12 13:05:14
【问题描述】:

我正在用 python 做一个小项目,经过一些工作后,我想知道是否有一种方法可以在 python 3 中输入数据,这有点类似于批处理的选择命令。几乎只接受一键输入,然后结束输入提示。

例如:

Choice(['Y', 'N'], "Yes or No? ")

用户可以按“Y”或“N”,程序将继续运行。

我做了一些简短的冲浪,但没有找到任何我可以使用的东西。

奖金:

如果这个“选择”命令可以排除多个字符,那将更加有用。 几乎是input,但限制了他们可以输入的字符数,然后立即继续。事实证明,后者很难。

提前致谢,莫娜

【问题讨论】:

    标签: python batch-file choice character-limit


    【解决方案1】:

    没有内置的,但你可以这样做:

    def choice(options, prompt):
        while True:
            output = input(prompt)    # Use raw_input(prompt) for Python 2.x
            if output in options:
                return output
            else:
                print("Bad option. Options: " + ", ".join(options))
    

    这将允许用户在命令行中输入任意字符串(任意长度),并且一旦用户点击enter 就会继续。不幸的是,我知道没有简单的方法可以在设定的字符数后自动停止。

    但是,this post 确实讨论了从命令行获取单个字符的方法。你或许可以把它改编成上面的函数,让它在一定数量的字符后自动继续,而不用等待按下enter键。

    【讨论】:

    • 好的,我会进一步研究这个。谢谢
    猜你喜欢
    • 2018-04-06
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2012-06-25
    • 2012-07-19
    • 1970-01-01
    • 2012-09-28
    相关资源
    最近更新 更多