В 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