Изучаем Python -> Условия
Привет-привет, DTF! В этом лонге, я продолжаю цикл статей, которые помогут Вам в изучении Python. Всё с примерами и наглядно. Читай, узнавай, подписывайся!
План статей:
- print() /input()
- Типы данных
- Переменные
- Условия
- Массив
- Циклы
- Импорт библиотек
- Функции
- Классы
- Закрепляем материал
Обязательно пробуй повторить изложенный в этой статье материал, отмечай плюсиком, каждый успешно пройденный этап, чтобы отслеживать свой прогресс.
Весь код я предлагаю писать в Google Colab, для этого нам понадобиться там зарегистрироваться (подойдет учетка Google) и создать новый блокнот (Файл -> Создать блокнот).
Также, если у Вас возникли трудности, можете просмотреть мой блокнот, в нём изложен весь сегодняшний материал.
Что такое условие? Зачем оно нужно?
Условие - это способ описать событие, при выполнении которого, произойдёт определенный сценарий действий.
Для начала, разберемся, а какие в принципе, бывают условия
< Меньше — условие верно, если левое значение меньше правого
> Больше — условие верно, если левое значение больше правого
>= Больше или равно — условие верно, если левое значение меньше или равно правому
- <= Меньше или равно — условие верно, если левое значение больше или равно правому
== Равенство. Условие верно, если два значения равны
!= Неравенство. Условие верно, если два значения неравны.
В программировании условие записывается следующем образом:
Мы пишем ключевое слово, говорящее Python, что сейчас начнётся запись условия. Лайфхак, если Вы слышите предложение, которое начинается со слова «если» — то перед Вами ставят условие. В английском языке если переводится как if и именно с него начинается всякое условие.
Далее следует само условие. Сравниваем что-то с чем-то, способы сравнить описаны выше. В конце условия ставится двоеточие, которое готовится описывать события, последующие после выполнения условия. Его еще можно сравнить со словом «тогда».
После этого, следует отступ, который отделяют ту часть кода, которая обязательно к выполнению, от той, которая будет выполняться, только в случае, если стоящее перед ним условие соответствовало действительности. Синонимом слова отступ в программировании можно считать слово «табуляция», происходит оно от наименования клавиши Tab. Нажатие на эту клавишу позволяет ставить одновременно четыре пробела, .
Получаем, вот такую конструкцию:
если условие верно тогда:
____описание последующих действий
Детальный разбор примеров
Теперь, поговорим про каждое из них более подробно.
< Меньше — условие верно, если левое значение меньше правого.
Здесь стоит проверить, что было бы, если бы условие не выполнилось?
Давайте, рассмотрим это на примере следующего типа условий:
> Больше — условие верно, если левое значение больше правого
Зеленая галочка слева от if, указывает нам на то, что программа отработала, однако вывода не последовало. Почему? Потому что условие неверно и действие лежащее внутри этого условия никогда не будет выполнено.
Давайте, приведем условие в порядок и сделаем так, чтобы оно выполнилось.
На очереди новый тип условий.
>= Больше или равно — условие верно, если левое значение меньше или равно правому
Условие работает, аналогично прошлому, с той лишь оговоркой, что в случае равенства между собой чисел — условие всё равно будет выполнено. Лучше всего, это будет видно на примере двух рядом стоящих условий.
<= Меньше или равно — условие верно, если левое значение больше или равно правому
Не трудно догадаться, что меньше или равно работает аналогично знаку меньше, но с вышеуказанной ремаркой (в случае равенства чисел, условие будет выполнено).
== Равенство. Условие верно, если два значения равны
Действие находящиеся под таким условием, будет выполняться, в случае равенства двух значений.
С точностью до наоборот, работает условие неравенства
!= Неравенство. Условие верно, если два значения неравны.
Что такое else?
Все условия проверены и работают ровно так, как мы от них ожидаем. Но на этом моменте, внимательный ученик заметит, что я сравнивал только числа. Но будут ли эти условия работать со строкой? Будут.
Создадим переменную name и добавим пользователю возможность записать в неё свое имя. Затем напишем условие, что если содержимое переменной равняется строке, то выведется надпись - «Я знаю, как тебя зовут».
Но что делать, если пользователь введёт имя, которое моя программа не знает? Ничего не произойдёт. А как сделать так, чтобы происходило? Что делать, если я хочу, чтобы обрабатывался сценарий, где пользователь ввёл имя, которого нет в программе? Например, добавить его в общую базу данных имён, чтобы при следующем вводе подобного имени, компьютер уже знал его.
Тут нам поможет else или в переводе с английского — иначе. Как и if, данное слово в Python является специальным, оно указывает нам на то, что если ни одно из вышестоящих условий не сработало, то будет выполнено действие, стоящее после else.
Напишем такое условие, при котором, если пользователь ввёл 'Pavel' — программа ответит, что знает, как нас зовут, во всех иных случаях — что не знает.
Как объединять несколько условий в одно?
А что делать, если в данной программе, мы хотим учитывать регистр? Ну, например, кому-то будет лень писать своё имя с большой буквы, он напишет просто «pavel», как быть тогда?
Тут нам на помощь придут логические операторы OR (или) и AND (и). Они позволяют объединять несколько условий в одно.
OR —выполнит последующие действия, если достигнуто выполнение хотя бы одного условия.
Попробуем объединить условие с равенством переменной «Pavel» или «pavel» для вывода необходимого текста.
В данном примере, мы видим, что при достижении одного из условий — действие будет выполняться.
AND —работает по принципу, что последующие действия будут выполнены, в случае, если все перечисленные условия верны.
Например, мы хотим полностью идентифицировать нашего пользователя и проверить его на соответствие и имени, и фамилии.
Заполняем переменные first_name и last_name и если они соответствуют тому, с чем их сравнивают, мы увидим результат, подобный тому, что на скриншоте выше.
Вложенные условия
Иногда, нам нужно будет создавать такую конструкцию, при которой в случае успешного выполнения первого условия, программа будет осуществлять проверку еще одного условия внутри него.
Важно понимать, первое и второе условия не являются равнозначными, если первое условие не будет верным — проверка второго даже не начнётся.
Давайте, рассмотрим на конкретном примере. Допустим, мы хотим написать программу, которая проверяет — может ли человек быть донором или нет.
Спроецируем, это на реальную жизнь. Когда мы приходим в донорский центр, первое, что у нас спрашивают — наш возраст. Если мы подходим, то нам положен медицинский осмотр и опрос, который даст нам ответ — здоровы ли мы и можем сдавать кровь. Важный момент тут в том, что к осмотру мы будем приступать только после того, как убедимся, что человеку есть 18. Нет смысла спрашивать человека об этом в процессе осмотра, это действие должно быть первостепенным.
Теперь, можно спроецировать этот пример в виде кода.
Обратите внимание, что для каждого if, нужно писать свой отдельный else.
Новый тип данных — bool
В питоне существует также тип данных bool, в нём храниться всего два значения — True (Истина) и False (Ложь).
Этот тип данных активно используется, в условиях. Для выполнения условия, нам достаточно проверить, что оно истинно. Если оно истинно — последующее за ним действия будут выполняться.
Попробуем, вывести на экран наши сравнения без if.
На основе этого, можно сделать вывод, что если условие True — последующие действия будут выполняться и напротив, если False — не будут.
В этом можно убедиться на простом примере. Создадим переменную, обозначающую запущенна игра в данный момент или нет. В случае, если эта переменная равна True, мы будем выводить на экран сообщение, что игра идёт.
При этом обратите внимание, нам не нужно сравнивать game с True, т.к. game, и есть True, то для истинности условия требуется лишь записать в нём эту переменную.
Что такое elif?
В некоторых ситуациях, Вам нужно ранжировать условия по значимости, когда при достижении одного из условий, нам не обязательно проверять следующие.
elif — помогает нам с этим, этот оператор говорит нам о том, что при достижении текущего условия, все остальные проверять не обязательно.
В качестве примера, напишем программу, которая проверяет наличие активных хоккейных или футбольных матчей. При этом отметим, что спорт мы любим любой, но приоритет отдаём футболу и если идёт футбольный матч одновременно с хоккейным, смотреть мы будем именного футбол.
Закрепляем материал
Мы переварили достаточной большой кусок интересной и важной информации. Давайте, закрепим его, написав программу с применением полученных знаний. В этот раз, я предложу Вам написать программу входа в админ-панель. Он будет в очень упрощенном виде.
Вам необходимо создать две переменные admin_login и admin_password и записать в них секретную информацию. Затем, предложим пользователю ввести логин и пароль от админ панели и запишем эту информацию в переменные user_login и user_password.
В случае, если логин и пароль будут совпадать — вывести сообщение об успешном входе.
Если не верен логин, вывести сообщение об этом.
Если не верен пароль, вывести сообщение об этом.
Если Вам что-то непонятно — можете писать вопросы в комментарии, я отвечу на каждый. Буду признателен подписке (особенно на YouTube канал), до встречи в новых постах!