hamcrest: как ввести логическое значение

Я не уверен, почему я вижу ошибку, когда у меня есть этот код. 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")

1 ответ

Попытка преобразовать ваш ввод в bool не сработает. Python считает любую непустую строку True. Таким образом, выполнение bool(input()) в основном аналогично выполнению input() != ''. Оба возвращают true, даже если ввод не был «True». Просто сравните введенные данные непосредственно со строками "True" и "False":`isTrue = True, в то время как isTrue:

      isTrue = bool(int(input("Continue? 1 for yes, 0 for no: ")))`
Другие вопросы по тегам