|
|||
Цепочки сравнений. Транзитивность ⇐ ПредыдущаяСтр 3 из 3 Цепочки сравнений Операторы сравнения в Python можно объединять в цепочки (в отличии от большинства других языков программирования, где для этого нужно использовать логические связки), например, a == b == c или 1 < = x < = 10. Следующий код проверяет, находится ли значение переменной age в диапазоне от 3 до 6: age = int(input()) if 3 < = age < = 6: print('Вы ребёнок') Код, проверяющий равенство трех переменных, может выглядеть так: if a == b == c: print('числа равны') else: print('числа не равны') Транзитивность Операция равенства является транзитивной. Это означает, что если a == b и b == c, то из этого следует, что a == c. Именно поэтому предыдущий код, проверяющий равенство трёх переменных, работает как полагается. Из курса математики вам могут быть знакомы другие примеры транзитивных операций: · Отношение порядка: если a > ba> b и b > cb> c, то a > ca> c; · Параллельность прямых: если a \parallel ba∥ b и b \parallel cb ∥ c, то a \parallel ca∥ c; · Делимость: если aa делится на bb и bb делится на cc, то aa делится на cc. Наглядно транзитивность отношения порядка можно понять на таком примере: если сосед слева старше вас (a > b)(a> b), а вы старше соседа справа (b > c)(b> c), то сосед слева точно старше соседа справа (a > c)(a> c). Операция неравенства (! =), в отличие от операции равенства (==), является нетранзитивной. То есть из того, что a! = b и b! = c, вовсе не следует, что a! = c. Действительно, если вас зовут не так, как соседа слева и не так, как соседа справа, то нет гарантии, что у обоих соседей не окажутся одинаковые имена. Таким образом, следующий код вовсе не проверяет тот факт, что все три переменные различны: if a! = b! = c: print('числа не равны') else: print('числа равны') Код, проверяющий, что значения трёх переменных различны, мы научимся писать немного позже.
|
|||
|