Исходные значения: a = 10, b = 5.
Целевое значение a = 17.
Если условие истинно, a = a - 7. Если ложно, a = a + 7.
Чтобы получить 17, нужно выполнить ветку else, так как 10 + 7 = 17. Это означает, что условие if a > 1 ??? a < b должно быть ложным.
Проверим варианты:
a > 1 and a < b: 10 > 1 (истина) и 10 < 5 (ложь) = ложь. В этом случае выполняется else, a = 10 + 7 = 17.a > 1 or a < b: 10 > 1 (истина) или 10 < 5 (ложь) = истина. В этом случае выполняется if, a = 10 - 7 = 3.a > 1 and not (a < b): 10 > 1 (истина) и не (10 < 5) (истина) = истина. В этом случае выполняется if, a = 10 - 7 = 3.a > 1 or not (a < b): 10 > 1 (истина) или не (10 < 5) (истина) = истина. В этом случае выполняется if, a = 10 - 7 = 3.Следовательно, логическая операция - and.