【问题标题】:How to get a input a boolean value from the user?如何从用户那里获取输入布尔值?
【发布时间】:2022-07-06 13:51:02
【问题描述】:

如何从用户那里获取一个布尔值,如果它不是一个布尔值,则循环运行直到它得到一个布尔值(真/假)

【问题讨论】:

  • 这真的取决于你如何解释输入。用户可以输入yyes 或其他任何内容,然后您使用条件句if user_input == 'yes': val = True

标签: python


【解决方案1】:

如果您希望用户只输入TrueFalse 然后使用这个..

while True:
    user_in = input("Write True OR False:> ")
    if user_in in ['True','False']:
        print("User input bool values.")
        break
    else:
        print("Incorrect Type, Try Again.")

【讨论】:

    【解决方案2】:

    您会从用户那里读取一个字符串值,然后将其与您认为是真或假的值进行比较。

    如果您尝试bool(input()),则唯一的False 是空输入。

    提示:如果您要查找特定值,例如来自用户的 true,您可能需要转换为小写,以便更轻松地进行不区分大小写的检查。

    if input().lower() == 'true':
        ...
    else:
        ...
    

    【讨论】:

    • 你的回答很好,但是OP希望用户只输入TrueFalse。 (我认为。
    【解决方案3】:

    你可以只检查用户提交的值是True还是False

    val == 'True'
    val == 'False'
    

    这是字符串比较,但比较的结果是布尔值。

    【讨论】:

      猜你喜欢
      • 2021-09-15
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 1970-01-01
      • 1970-01-01
      • 2013-09-03
      • 1970-01-01
      相关资源
      最近更新 更多