Вложенная условная конструкция python

Вложенная условная конструкция python

Don’t learn to code. Code to learn!

  • Python — Обзор
  • Основы синтаксиса Python
  • Операторы в Python
  • Типы данных в Python
  • Условные конструкторы в Python
  • Циклы в Python
  • Функции в Python
  • Функциональное программирование в Python
  • ООП в Python
  • Модули в Python
  • Работа с файлами в Python
  • Обработка исключительных ситуаций в Python

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

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

В Python предполагается, что любое ненулевое и непустое значение равняется истине (True), в то время, как ноль или пустой объект равняется лжи (False).

В Python существуют следующие условные конструкции:

Условная конструкция if в Python:

Команда if в Python работает по той же схеме, что и в других языках программирования. Она содержит в себе логическое условие, и если это условие истинно (равно True) — выполнится блок кода, записанный внутри команды if. Если же логическое условие ложно (равно False), то блок кода записанный внутри команды if пропускается, а выполнение кода переходит на следующую после блока if строчку кода.

# Происходит сравнение переменной num с нулем if num > 0: print "Число больше нуля" # Если переменная больше нуля, то печатается строка print "Строка после блока if" # Данная строка печатается в любом случае, поскольку она находится вне блока if

Конструкция if. else в Python:

В конструкцию if может быть добавлена команда else. Она содержит блок кода, который выполняется, если условие в команде if ложно.

Читайте также:  Html to pug gulp

Команда else является опциональной, в каждой if — конструкции может быть только одна команда else.

if num > 0: print "Число больше нуля" # если переменная num больше нуля то выполняется этот блок кода else: print "Число меньше или равно нулю" # иначе выполнится этот блок кода

Команда elif в Python:

Команда elif позволяет проверить истинность нескольких выражений и в зависимости от результата проверки, выполнить нужный блок кода.

Как и команда else, команда elif являктся опциональной, однако, в отличие от команды else, у одной if-конструкции может существовать произвольное количество команд elif.

# Производится последовательное сравнение переменной num. # Если num больше ста выполняется код в строке 4 и выполнение переходит на строку 13, иначе выполняется проверка в строке 6 if num > 100: print "Число больше ста" # Если num больше пятидесяти - выполняется код в строке 7 и выполнение переходит на строку 13, иначе выполняется проверка в строке 8 и т.д. elif num > 50: print "Число больше пятидесяти" elif num > 25: print "Число больше двадцати пяти" # Если результат всех проверок оказался ложным выполняется блок в строке 11, после чего переходим на строку 13 else: print "Число меньше двадцати пяти" print "Финальная строка"

Базовый Python не поддерживает конструкцию switch/case, как, например, JavaScript, но ее возможно реализовать при помощи if. elif. else конструкции.

Вложенные условные конструкции в Python:

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

if num > 100: if num < 150: print "Число больше ста, но меньше ста пятидесяти" elif num < 200: print "Число больше ста, но меньше двухсот" elif num >50: if num < 90: print "Число больше пятидесяти, но меньше девяноста" else: print "Число больше пятидесяти и больше девяноста" else: print "Число меньше пятидесяти"

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

Источник

Вложенная условная конструкция python

Условные конструкции используют условные выражения и в зависимости от их значения направляют выполнение программы по одному из путей. Одна из таких конструкций - это конструкция if . Она имеет следующее формальное определение:

if логическое_выражение: инструкции [elif логическое выражение: инструкции] [else: инструкции]

В самом простом виде после ключевого слова if идет логическое выражение. И если это логическое выражение возвращает True, то выполняется последующий блок инструкций, каждая из которых должна начинаться с новой строки и должна иметь отступы от начала выражения if (отступ желательно делать в 4 пробела или то количество пробелов, которое кратно 4):

language = "english" if language == "english": print("Hello") print("End")

Поскольку в данном случае значение переменной language равно "english", то будет выполняться блок if, который содержит только одну инструкцию - print("Hello") . В итоге консоль выведет следующие строки:

Обратите внимание в коде на последнюю строку, которая выводит сообщение "End". Она не имеет отступов от начала строки, поэтому она не принадлежит к блоку if и будет выполняться в любом случае, даже если выражение в конструкции if возвратит False.

Но если бы мы поставили бы отступы, то она также принадлежала бы к конструкции if:

language = "english" if language == "english": print("Hello") print("End")

Блок else

Если вдруг нам надо определить альтернативное решение на тот случай, если выражение в if возвратит False, то мы можем использовать блок else :

language = "russian" if language == "english": print("Hello") else: print("Привет") print("End")

Если выражение language == "english" возвращает True, то выполняется блок if, иначе выполняется блок else. И поскольку в данном случае условие language == "english" возвращает False, то будут выполняться инструкция из блока else .

Причем инструкции блока else также должны имет отступы от начала строки. Например, в примере выше print("End") не имеет отступа, поэтому она не входит в блок else и будет выполнятьься вне зависимости, чему равно условие language == "english" . То есть консоль нам выведет следующие строки:

Блок else также может иметь несколько инструкций, которые должны иметь отступ от начала строки:

language = "russian" if language == "english": print("Hello") print("World") else: print("Привет") print("мир")

elif

Если необходимо ввести несколько альтернативных условий, то можно использовать дополнительные блоки elif , после которого идет блок инструкций.

language = "german" if language == "english": print("Hello") print("World") elif language == "german": print("Hallo") print("Welt") else: print("Привет") print("мир")

Сначала Python проверяет выражение if . Если оно равно True, то выполняются инструкции из блока if. Если это условие возвращает False, то Python проверяет выражение из elif .

Если выражение после elif равно True , то выполняются инструкции из блока elif . Но если оно равно False то выполняются инструкции из блока else

При необходимости можно определить несколько блоков elif для разных условий. Например:

language = "german" if language == "english": print("Hello") elif language == "german": print("Hallo") elif language == "french": print("Salut") else: print("Привет")

Вложенные конструкции if

Конструкция if в свою очередь сама может иметь вложенные конструкции if:

language = "english" daytime == "morning" if language == "english": print("English") if daytime == "morning": print("Good morning") else: print("Good evening")

Здесь конструкция if содержит вложенную конструкцию if/else. То есть если переменная language равна "english", тогда вложенная конструкция if/else дополнительно проверяет значение переменной daytime - равна ли она строке "morning" ли нет. И в данном случае мы получим следующий консольный вывод:

Стоит учитывать, что вложенные выражения if также должны начинаться с отступов, а инструкции во вложенных конструкциях также должны иметь отступы. Отступы, расставленные не должным образом, могут изменить логику программы. Так, предыдущий пример НЕ аналогичен следующему:

language = "english" daytime = "morning" if language == "english": print("English") if daytime == "morning": print("Good morning") else: print("Good evening")

Подобным образом можно размещать вложенные конструкции if/elif/else в блоках elif и else:

language = "russian" daytime = "morning" if language == "english": if daytime == "morning": print("Good morning") else: print("Good evening") else: if daytime == "morning": print("Доброе утро") else: print("Добрый вечер")

Источник

Оцените статью