В Python есть простые логические операторы (=, !=, <, >, <=, >=) и сложные
(and, or, not). Все логические операторы, за исключением not, являются
бинарными. Это значит, что слева и справа от них должны стоять выражения. С
помощью логических операторов эти выражения так или иначе сравниваются между
собой.
Результат логических операций имеет булевый тип данных (встроенный class
'bool' в Python). Нужно быть осторожным, сравнивая между собой разные типы
данных, т. к. это не всегда возможно. Например, нельзя сравнивать числа и
строки, но вещественные и целые числа - можно.
В сложных логических выражениях нужно учитывать последовательность операций.
Если нет уверенности, какая операция имеет приоритет, то лучше использовать
скобки.
s1 = input("Введите первую строку: ") s2 = input("Введите вторую строку: ") f1 = input("Введите первое число: ") f2 = input("Введите второе число: ") f1 = float(f1) f2 = float(f2) bool_s = s1 > s2 bool_f = f1 != f2 bool_or = f1 + f2 > 0 or (s1 != '' and s2 != '') print('-'*10) print("Первая строка больше второй:", bool_s) print("Числа не равны друг другу:", bool_f) print("Первая строка больше второй и числа не равны друг другу:", bool_s and bool_f) print("Сумма чисел больше нуля ИЛИ ни одна из строк не пуста:", bool_or)Примерный вывод:
Введите первую строку: ty Введите вторую строку: kl; Введите первое число: 6.8 Введите второе число: 8 ---------- Первая строка больше второй: True Числа не равны друг другу: True Первая строка больше второй и числа не равны друг другу: True Сумма чисел больше нуля ИЛИ ни одна из строк не пуста: True
Введите первую строку: Введите вторую строку: Введите первое число: 7 Введите второе число: -7 ---------- Первая строка больше второй: False Числа не равны друг другу: True Первая строка больше второй и числа не равны друг другу: False Сумма чисел больше нуля ИЛИ ни одна из строк не пуста: False