Таких примеров сравнений много, и здесь булева логика – крайне полезная штука.
Давайте узнаем из чего она состоит и какие примеры с ней можно создавать.
1. Операторы сравнения
Когда мы сравниваем числа друг с другом, мы обычно используем такие символы, как > (больше), < (меньше), = (равно) и так далее. Они работают и на Python. И вот как они выглядят там:
Больше >
Меньше <
Равно ==
Не равно !=
Больше или равно > =
Меньше или равно <=
Как Вы заметили, в Python вместо знака равенства = нам необходимо использовать двойной знак равенства ==.
Нам нужен двойной знак равенства для того, чтобы Python не подумал, что мы пытаемся создать переменную.
В Python эти символы называются операторами сравнения. И они нужны нам для того, чтобы наша программа могла сравнивать различные типы данных, например: числа, строки, переменные и так далее.
2. Булевы значения: правда или ложь
У Булевой логики есть логические значения: True и False:
True – когда условие истинно. И False – когда условие ложно.
Давайте теперь сыграем.
Я буду сравнивать числа, а Вы будете отвечать в уме – True, если это истина, или False, если это ложь.
Начнем?
2 > 4
10 < 20
3 == 3
5 != 7
А теперь давайте сделаем то же самое в Python. Для этого мы создадим переменную – результат, и присвоим ей значение 2 > 4
Затем выведем результат на экран с помощью функции print. Вот, как это будет выглядеть:
результат = 2 > 4
print(результат)
Впишите этот код в компилятор и запустите его.
Если значение переменной является истиной, программа вернет результат True. Если же значение окажется ложью, программа вернет False.
Ну как? Что возвращает программа?
А теперь подставьте остальные значения из списка, одно за другим, запускайте код и наблюдайте за результатом, который возвращает программа.
Вот так и работает булева логика в Python.
Но что, если мы попробуем сравнить строки? Попробуйте сравнить яблоки с апельсинами, используя следующее значение в переменной:
результат = "яблоки" == "апельсины"
print(результат)
Запишите этот код в компилятор и запустите его.
А теперь сравните яблоки с яблоками:
результат = "яблоки" == "яблоки"
print(результат)
Видите результат?
Теперь Вы знаете, что в программировании булева логика работает не только с числовыми, но и с другими форматами данных.
3. True и False в переменных
Как Вы уже заметили, мы можем хранить результаты сравнений, которые возвращают True или False в переменных.
Давайте рассмотрим эту тему подробнее вот с таким примером:
результат = "яблоки" == "бананы"
print(результат)
Давайте впишем этот код в компилятор и запустим его.
В этом коде мы создали переменную с именем “результат”, и присвоили ей логическое значение от сравнения двух строк «яблоки» и «бананы».
Затем мы спустились на одну строку вниз, и вывели значение переменной “результат” на экран, передав имя переменной в скобки функции print. Которую мы перед этим создали.
Правда, не сложно?
А теперь измените код, указав, что яблоки и бананы не равны. Вы уже знаете как это делать :)
Что теперь возвращает программа?
4. Сравнение переменных в Python
Мы можем сравнивать не только числа и строки, но и целые переменные!
Посмотрите, как это можно сделать:
игра = "Dota"
результат = игра == "FIFA"
print(результат)
Но, прежде чем записать это пример в компилятор и запустить его, подумайте и скажите, какой результат он вернет? True или False?
Решили? А теперь давайте посмотрим правильно Вы решили, или нет:
Как видите, сначала мы создали переменную под названием игра и присвоили ей значение сроки “Dota”.
Затем мы спустились на одну строку ниже, и создали вторую переменную по имени результат.
После этого мы присвоили переменной результат логическое значение от сравнения нашей первой переменной – игра, со строковым значением FIFA.
Затем мы спустились еще на одну строку ниже, и вывели значение переменной результат на экран, с помощью функции print.
А так как значение нашей переменной игра равно строке Dota, а не строке FIFA, то программа вернула False.
Ну как? Совпало Ваше решение с ответом программы?
Давайте теперь закрепим пройденный пример. Возьмите наш код, и напишите на его основе свою версию программы для создания и сравнения двух переменных.
Меняйте что угодно по вашему желанию: имена переменных, их значения. И конечно операторы сравнения.
5. Программа для проверки пароля
Ну и в завершение пройденной главы, давайте отработаем очень упрощенный пример из реальной жизни: Программа, которая проверяет правильность введенного пароля:
пароль = "рыба-меч"
приветствие = пароль == "рыба-меч"
print(приветствие)
Введите этот код в компилятор и запустите его.
Давайте рассмотрим все по порядку.
В первой строчке мы создали переменную – пароль, и присвоили ей значение – рыба-меч.
Затем на второй строчке мы создали новую переменную по имени приветствие. И присвоили ей логическое значение, которое сравнивает значение переменной пароль и строку “рыба-меч”.
И, наконец, в третьей строчке мы вывели на экран результат логического сравнения из второй строчки.
Поскольку в качестве оператора сравнения мы использовали == (Равно), а значение переменной пароль действительно равно строке “рыба-меч”, то, переменная приветствие вернула True.
Таким образом, можно представить, что:
“рыба-меч” из первой строчки – это пароль, который хранится в базе паролей.
“рыба-меч” из второй строчки – это пароль, который вводит пользователь, чтобы войти в личный кабинет.