Найти в Дзене
Python Developer

VK BOT: Магия Автоматизации | Python | Часть 2

Оглавление

Всех приветствую! Это вторая часть написания Чат-Бота ВКонтакте.

Сегодня мы с вами познакомимся с Условными операторами в Python.

Условные операторы в Python играют важную роль в процессе программирования, обеспечивая возможность выбора разных путей выполнения кода на основе заданных условий.

Основы условных операторов

В Python ключевым условным оператором служит if. Его применяют для оценки условия и запуска определенного блока кода в случае, когда это условие верно (True). Пример основного синтаксиса оператора if:

-2

Пример:

-3

Этот код начинается с объявления переменной x, которой присваивается значение 20. Затем идет условный оператор if, который проверяет, больше ли значение переменной x 18. Если условие верно (а в данном случае оно верно, поскольку 20 больше 18), то выполняется код внутри блока if, который в данном случае состоит из одной команды print(). Эта команда выводит на экран сообщение 'Вы совершеннолетний'. В общем, этот код проверяет, является ли значение переменной x большим 18, и если это так, сообщает, что человек совершеннолетний. Нечего сложного? Тогда идем дальше

Условные операторы elif и else

Помимо условного оператора if в Python существуют еще операторы elif и else, которые используются для создания более сложных логических конструкций.

  • elif (сокращение от "else if"): позволяет проверить дополнительные условия, если предыдущие условия (if или другие elif) были ложными. Оператор elif может использоваться несколько раз после исходного if.
  • else: используется в конце условного блока для определения кода, который будет выполнен, если все предыдущие условия (if и elif) были ложными. Блок else не требует условий и выполняется, когда ни одно из предшествующих условий не было истинным.

Общий вид:

-4

Эти операторы позволяют создавать сложные условные структуры, обеспечивая гибкость и ясность в логике программы.

Рассмотрим пример:

-5
  1. Сначала задается переменная x со значением 15.
  2. Последовательно проверяются условия в if и elif блоках. Каждый elif проверяет разные диапазоны значений для x.
  3. Как только одно из условий оказывается истинным, соответствующий блок кода выполняется и дальнейшие условия не проверяются.
  4. В данном случае, поскольку x равно 15, будет выполнен и отображен текст из блока elif x < 20.
  5. Если бы ни одно из условий не было выполнено, то выполнился бы код в блоке else

И вот что вывела консоль:

-6

Операторы сравнения в Python

В Python для формирования условий применяются операторы сравнения. Они сравнивают значения между собой и выдают результат в форме логических значений True или False.

P.s. Те кто знаю для чего нужно True и False, и как они работают - могут пропустить данное объяснение

True и False являются булевыми значениями в Python и во многих других языках программирования. Они представляют два возможных состояния логической переменной: истина и ложь.

  • True: Это ключевое слово обозначает истину или подтверждение. В логических выражениях, когда условие считается верным, результатом является True. Например, в выражении 10 > 5 результат будет True, поскольку 10 действительно больше 5. Простые примеры ниже с помощью print()
-7

Вот что вывелось в консоль:

-8

  • False: Это ключевое слово обозначает ложь или отрицание. В логических выражениях, когда условие считается неверным, результатом является False. Например, в выражении 10 < 5 результат будет False, поскольку 10 не меньше 5.
-9

И вот какой ответ дала консоль:

-10

Короткий вывод:

Булевы значения True и False широко используются в условных операторах и циклах, где они помогают определить, должен ли выполниться определенный блок кода или продолжиться выполнение цикла (Возник вопрос, что такое цикл? Не парься, разберем в следующих статьях).

Возвращаемся к теме Операторы сравнения

А теперь вернемся к Условным операторам, а точнее к операторам сравнения, которые помогают выполнять работу Условным операторам.

🔍 Основные операторы сравнения:

  • == (равно)
  • != (не равно)
  • < (меньше)
  • > (больше)
  • <= (меньше или равно)
  • >= (больше или равно)

А также есть такие логические операторы, о которых мы поговорим позже:

  • % (модуль):Возвращает остаток от деления значения слева на значение справа.
  • and (логическое И):Возвращает True, если оба сравниваемых выражения истинны.
  • or (логическое ИЛИ):Возвращает True, если хотя бы одно из сравниваемых выражений истинно.
  • not (логическое НЕ):Инвертирует булево значение выражения (из True в False и наоборот).

Пример кода, в котором используются операторы сравнения:

-11

Внимание! Первые пять участников, которые верно угадают и напишут в комментариях результат выполнения этого кода, получат эксклюзивный ВК Бот с технической поддержкой на целых три месяца абсолютно бесплатно! 🔥 Не упустите свой шанс! Обязательные условия: Подписка и Лайк данной статьи.

Объяснение кода выше:

  1. Сначала задается переменная x со значением 15.
  2. Различные elif блоки проверяют x на соответствие разным условиям с использованием операторов сравнения: равенство (==), неравенство (!=), меньше (<), больше (>), меньше или равно (<=).
  3. Как только одно из условий оказывается истинным, соответствующий блок кода выполняется.
  4. Если бы ни одно из условий не было выполнено, то выполнился бы код в блоке else.

Вложенные условные операторы в Python

Вложенные условные операторы — это когда один условный оператор (if, elif, else) находится внутри другого. Это позволяет проводить более сложные и точные проверки в коде.

Особенности Вложенных Условных Операторов:

  1. Иерархическая Структура:Позволяет осуществлять проверку условий поэтапно, от внешнего блока к внутреннему.
  2. Повышение Гибкости:Обеспечивает комбинирование разных условий для достижения конкретного результата.
  3. Влияние на Читаемость:Слишком глубокая вложенность может усложнить понимание кода.

Пример 1: Простая Вложенность

-12

Подробное объяснение кода выше:

  1. Инициализация переменных:age = 20: Создается переменная age и присваивается ей значение 20. Это предполагаемый возраст человека.
    is_student = True: Создается логическая переменная is_student и устанавливается значение True, что означает, что человек является студентом.
  2. Первое Условие (if age > 18):Здесь проверяется, больше ли значение переменной age числа 18. Это условие проверяет, достиг ли человек совершеннолетия (в большинстве стран совершеннолетие наступает в 18 лет).
    Поскольку
    age равно 20, условие age > 18 истинно.
  3. Вложенное Условие (if is_student):Поскольку первое условие истинно, программа переходит к выполнению вложенного условного оператора.
    Здесь проверяется значение переменной
    is_student. Если оно True, что в данном случае и есть, то программа выполняет код внутри этого блока.
  4. Вывод (print("Совершеннолетний студент")):Так как is_student равно True, то выводится сообщение "Совершеннолетний студент".
    Это сообщение указывает на то, что человек не только совершеннолетний, но и является студентом.
  • Когда условие if is_student проверяется, оно оценивает, является ли значение переменной is_student истинным (True). В данном случае, is_student равно True, что означает, что человек, описываемый этим кодом, является студентом.
  • is_student = True — это логическое выражение, где True является булевым значением, указывающим на положительное или подтверждающее состояние. В контексте данного кода, это означает, что утверждение "человек является студентом" верно.
  • Поскольку is_student истинно, выполняется код внутри этого блока if, и программа выводит на экран сообщение "Совершеннолетний студент". Это сообщение подтверждает, что человек не только достиг совершеннолетия, но и является студентом.

Что произойдет, если is_student будет False:

  • Если бы is_student было False, это означало бы, что утверждение "человек является студентом" не верно. В этом случае, программа не выполнила бы код внутри блока if is_student, а перешла бы к блоку else, следующему за ним.
  • В блоке else после if is_student находится другой вызов функции print(), который выводит сообщение "Совершеннолетний не студент". Это сообщение будет показано, если is_student равно False, указывая на то, что человек совершеннолетний, но не является студентом.

5. Альтернативный Блок (else):Если бы is_student было False, то выполнился бы блок кода после else, и на экран было бы выведено "Совершеннолетний не студент".

6. Второй Альтернативный Блок (else во внешнем условии):Если бы начальное условие age > 18 было ложным, то есть если бы age было меньше или равно 18, то выполнился бы этот блок, и на экран было бы выведено "Несовершеннолетний".

И в итоге консоль вывела такой текст:

-13

Пример 2: Сложная Вложенность

-14

Подробное объяснение кода:

  1. Инициализация переменных:x = 10: Создается переменная x и присваивается ей значение 10.
    y = 20: Создается переменная y и присваивается ей значение 20.
  2. Первое Условие (if x > 5):Этот блок проверяет, больше ли значение переменной x числа 5.
    В данном случае, поскольку
    x равно 10, условие x > 5 истинно, и программа продолжает выполнение внутри этого блока.
  3. Вложенное Условие (if y > 15):Внутри первого условия находится второе условие, которое проверяет, больше ли значение переменной y 15.
    Так как
    y равно 20, условие y > 15 также истинно, и программа продолжает выполнение внутри этого блока.
  4. Второе Вложенное Условие (if x + y == 30):Теперь проверяется, равна ли сумма x и y числу 30.
    Поскольку
    x + y равно 30 (10 + 20), это условие истинно.
  5. Вывод Результата (print("Сумма равна 30")):Так как предыдущее условие оказалось истинным, программа выполняет код в этом блоке, выводя на экран сообщение "Сумма равна 30".
  6. Альтернативный Блок (else):Если бы условие x + y == 30 было ложным, то программа выполнила бы код в блоке else, следующем за ним, и вывела "Сумма не равна 30".
  7. Блоки для else:Если условие if y > 15 было бы ложным, то выполнился бы блок кода else под ним, выводя "y не больше 15".
    Если было бы ложным начальное условие
    if x > 5, то выполнился бы блок кода else в самом низу, выводя "x не больше 5".

Советы по Использованию Вложенных Условных Операторов:

  1. Избегание Глубокой Вложенности:Старайтесь не использовать слишком много уровней вложенности.
  2. Использование Логических Операторов:Попробуйте использовать and, or для упрощения условий.
  3. Ясность и Чистота Кода:Поддерживайте код чистым и понятным через правильное форматирование и комментарии.
  4. Рефакторинг:Рассмотрите возможность разбиения сложных условий на функции для улучшения читаемости (Не знаете, что такое функции? Обговорим их в следующих статьях)
  5. Тестирование:Тщательно тестируйте каждую ветку условий, чтобы убедиться в их корректной работе.

На этом я бы хотел закончить данную статью. В следующей статье мы начнем обсуждение с отступом. Скорее некоторые не понимают, а зачем же эти отступы, можно ли их ставить на рандом или надо придерживаться какой-то одной фишки? Все это узнаем в новых статьях.

Надеюсь на поддержку с вашей стороны. Как говорится - ставим Лайки и Подписываемся на канал! Спасибо за прочтение. Увидимся с вами на просторах ВКонтакте.

Если у вас какой-то вопрос ко мне - вы можете задать его мне в личные сообщения ВК. Мой ВК: https://vk.com/kem_555