Я пытаюсь обдумать тестирование нескольких значений в python. Допустим, у меня есть
value1 = 7
value2 = 2
value3 = 4
, и я хочу выяснить, меньше ли они 10. С одним значением, очевидно, так же просто, как
value1 < 10
, что приводит к True
. Глядя на то, как я использую and
на естественном языке, я предполагаю, что тестирование для всех - это просто
value1 and value2 and value3 < 10
, и это действительно приводит к True
. Однако, если я изменю value1 = 20
, вышеуказанное останется верным, хотя, очевидно, это False
. Таким образом, если я не нашел огромную ошибку в python, я, очевидно, не понимаю, как работает and
, и, к сожалению, документы, которые я могу найти , только мне не очень помогают (это действительно сложно найдите что-нибудь в документации, выполнив поиск and
...).
(value1 < 10) and (value2 < 10) and (value3 < 10)
работает, как ожидалось, но, глядя на это, он должен быть идентичен моей первой версии или
(value1 and value2 and value3) < 10
, что также дает мне ложное True
.