【问题标题】:hamcrest: how to input Boolean valuehamcrest:如何输入布尔值
【发布时间】:2021-10-29 19:44:13
【问题描述】:

我不确定为什么在我拥有此代码时会看到错误。 all_is_valid 以黄色突出显示,当我将鼠标悬停在上面时,我看到下面的错误消息。如何避免不突出显示?

预期的类型 'Matcher[bool]'(匹配的泛型类型 'Matcher[T]'),改为得到 'bool'

all_is_valid=True  
actual = None
if not actual:
    all_is_valid = False
    assert_that(True, all_is_valid,"test failed")

【问题讨论】:

    标签: python hamcrest pyhamcrest


    【解决方案1】:

    尝试将您的输入转换为 bool 是行不通的。 Python 认为任何非空字符串为 True。所以做 bool(input()) 和做 input() != '' 基本一样。即使输入不是“真”,两者都返回真。只需将直接给出的输入与字符串 "True 和 "False" 进行比较:`isTrue = True 而为真:

    isTrue = bool(int(input("Continue? 1 for yes, 0 for no: ")))`
    

    【讨论】:

    • 不确定在这种情况下如何添加?我应该这样做(bool(int(all_is_valid)))
    猜你喜欢
    • 2015-04-07
    • 2020-12-31
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 2018-07-26
    相关资源
    最近更新 更多