Содержание

Инструкция if-elif-else, проверка истинности, трехместное выражение if/else

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

Синтаксис инструкции if

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

if test1:
    state1
elif test2:
    state2
else:
    state3

Простой пример (напечатает ‘true’, так как 1 — истина):

>>> if 1:
...     print('true')
... else:
...     print('false')
...
true

Чуть более сложный пример (его результат будет зависеть от того, что ввёл пользователь):

a = int(input())
if a < -5:
    print('Low')
elif -5 <= a <= 5:
    print('Mid')
else:
    print('High')

Конструкция с несколькими elif может также служить отличной заменой конструкции switch — case в других языках программирования.

Проверка истинности в Python

  • Любое число, не равное 0, или непустой объект — истина.
  • Числа, равные 0, пустые объекты и значение None — ложь
  • Операции сравнения применяются к структурам данных рекурсивно
  • Операции сравнения возвращают True или False
  • Логические операторы and и or возвращают истинный или ложный объект-операнд

Логические операторы:

X and Y

Истина, если оба значения X и Y истинны.

X or Y

Истина, если хотя бы одно из значений X или Y истинно.

not X

Истина, если X ложно.

Трехместное выражение if/else

Следующая инструкция:

if X:
    A = Y
else:
    A = Z

довольно короткая, но, тем не менее, занимает целых 4 строки. Специально для таких случаев и было придумано выражение if/else:

A = Y if X else Z

В данной инструкции интерпретатор выполнит выражение Y, если X истинно, в противном случае выполнится выражение Z.

>>> A = 't' if 'spam' else 'f'
>>> A
't'

pythonworld.ru

Pythonicway — Условные конструкции в Python

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

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

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

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

  • if
  • if / elif / else
  • вложенные if конструкции.

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

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

Например:

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

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

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

Команда 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 "Число меньше пятидесяти"

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

pythonicway.com

Оператор Python if…else | Python

1.2K

Изучив это руководство, вы научитесь использовать в Python различные формы if..else.

Выбор правильного варианта действия используется, когда мы хотим выполнить код, только если выполняется определенное условие. Для этого в Python применяется оператор if…elif…else.

if тестовое выражение:
    оператор(ы)

В примере программа оценивает тестовое выражение и выполняет оператор операторы, только если тестовое выражение равно True. Если тестовое выражение равно False, оператор операторы не выполняются.

В Python тело оператора if ограничивается отступом. Первая строка без отступа обозначает конец оператора.

Python интерпретирует ненулевые значения как истинное значение (true). None и 0 интерпретируются как False.

Пример: оператор Python if

# Если число положительное, мы выводим соответствующее сообщение

num = 3
if num > 0:
    print(num, "is a positive number.")
print("This is alwaysprinted.")

num = -1
if num > 0:
    print(num, "is a positive number.")
print("This is alsoalwaysprinted.")

Результат работы кода:

3 is a positive number
This is alwaysprinted
This is alsoalwaysprinted.

В приведенном выше примере num > 0— это тестовое выражение. Тело if выполняется только в том случае, если оно равно True.

Когда переменная num равна 3, тестовое выражение истинно, и операторы внутри тела if выполняются. Если переменная num равна -1, тестовое выражение не истинно, а операторы внутри тела if пропускаются.

Оператор print() расположен за пределами блока if (не определен). Следовательно, он выполняется независимо от тестового выражения.

if тестовое выражение:
    тело if
else:
    тело else

Оператор if..else оценивает тестовое выражение и выполняет тело if, только если условие равно True.
Если условие равно False, выполняется тело else. Для разделения блоков используются отступы.

# Программа проверяет, является ли число положительным или отрицательным
# и отображает соответствующее выражение

num = 3

# Также попробуйте следующие два варианта. 
# num = -5
# num = 0

if num >= 0:
    print("Positive or Zero")
else:
    print("Negative number") 

В приведенном выше примере, когда num равно 3, тестовое выражение истинно и выполняется тело if, а тело else пропускается.

Если num равно -5, тестовое выражение является ложным и выполняется блок else, а тело if пропускается.

Если num равно 0, тестовое выражение истинно и выполняется блок if, а тело else пропускается.

if тестовое выражение:
    тело if
elif тестовое выражение:
    тело elif
else: 
    тело else

elif — это сокращение от else if. Этот оператор позволяет проверять несколько выражений.

Если условие if равно False, оно проверяет состояние следующего блока elif и так далее. Если все условия равны False, выполняется тело else.

Только один из нескольких блоков if…elif…else выполняется в соответствии с условием.
Блок if может быть только один. Но он может включать в себя несколько блоков elif.

# В этой программе 
# мы проверяем, является ли число положительным,
# отрицательным или нулем и 
# выводим соответствующее выражение.

num = 3.4

# Также попробуйте следующие два варианта:
# num = 0
# num = -4.5

if num > 0:
    print("Positive number")
elif num == 0:
    print("Zero")
else:
    print("Negative number") 

Когда переменная num положительная, отображается Positive number. Если num равно 0, отображается Zero. Если число отрицательное, отображается Negative number.

if…elif…else может размещаться внутри другого оператора if…elif…else. Любое количество этих операторов может быть вложено внутрь друг друга. Отступы — единственный способ выяснить уровень вложенности. Это может быть довольно запутанным, поэтому следует избегать вложенности.

# В этой программе мы вводим число,
# проверяем, является ли число положительным,
# отрицательным или нулем, и выводим
# соответствующее сообщение
# На этот раз мы используем вложенный if

num =float(input("Enter a number: "))
if num >=0:
if num ==0:
print("Zero")
else:
print("Positive number")
else:
print("Negative number")

Вывод 1

Enter a number: 5
Positive number

Вывод 2

Enter a number: -1
Negative number

Вывод 3

Данная публикация представляет собой перевод статьи «Python if…else Statement» , подготовленной дружной командой проекта Интернет-технологии.ру

www.internet-technologies.ru

Python. Урок 5. Условные операторы и циклы

В этом уроке рассмотрим оператор ветвления if и операторы цикла while и for.  Основная цель – это дать общее представление об этих операторах и на простых примерах показать базовые принципы работы с ними.

Условный оператор ветвления if

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

1. Конструкция if

Синтаксис оператора if выглядит так.

if выражение:
    инструкция_1
    инструкция_2
    ...
    инструкция_n

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

ВАЖНО: блок кода, который необходимо выполнить, в случае истинности выражения, отделяется четырьмя пробелами слева!

Примеры:

if 1:
   print("hello 1")

Напечатает: hello 1

a = 3
if a == 3:
    print("hello 2")

Напечатает: hello 2

a = 3
if a > 1:
   print("hello 3")

Напечатает: hello 3

lst = [1, 2, 3]
if lst :
   print("hello 4")

Напечатает: hello 4

2. Конструкция if – else

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

if выражение:
    инструкция_1
    инструкция_2
    ...
    инструкция_n
else:
    инструкция_a
    инструкция_b
    ...
    инструкция_x

Примеры.

a = 3
if a > 2:
   print("H")
else:
   print("L")

Напечатает: H

a = 1
if a > 2:
   print("H")
else:
   print("L")

Напечатает: L

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

a = 17
b = True if a > 10 else False
print(b)

В результате выполнения такого кода будет напечатано: True

3. Конструкция if – elif – else

Для реализации выбора из нескольких альтернатив можно использовать конструкцию if – elif – else.

if выражение_1:
    инструкции_(блок_1)
elif выражение_2:
    инструкции_(блок_2)
elif выражение_3:
    инструкции_(блок_3)
else:
    инструкции_(блок_4)

Пример.

a = int(input("введите число:"))
if a < 0:
   print("Neg")
elif a == 0:
   print("Zero")
else:
   print("Pos")

Если пользователь введет число меньше нуля, то будет напечатано “Neg“, равное нулю – “Zero“, большее нуля – “Pos“.

Оператор цикла while

Оператор цикла while  выполняет указанный набор инструкций до тех пор, пока условие цикла истинно. Истинность условия определяется также как и в операторе if. Синтаксис оператора while  выглядит так.

while выражение:
    инструкция_1
    инструкция_2
    ...
    инструкция_n

Выполняемый набор инструкций называется телом цикла.

Пример.

a = 0
while a < 7:
   print("A")
   a += 1

Буква “А” будет выведена семь раз в столбик.

Пример бесконечного цикла.

a = 0
while a == 0:
   print("A")

Операторы break и continue

При работе с циклами используются операторы break  и continue.

Оператор break  предназначен для досрочного прерывания работы цикла while.

Пример.

a = 0
while a >= 0:
   if a == 7:
       break
   a += 1
   print("A")

В приведенном выше коде, выход из цикла произойдет при достижении переменной a  значения 7. Если бы не было этого условия, то цикл выполнялся бы бесконечно.

Оператор continue  запускает цикл заново, при этом код, расположенный после данного оператора, не выполняется.

Пример.

a = -1
while a < 10:
   a += 1
   if a >= 7:
       continue
   print("A")

При запуске данного кода символ “А” будет напечатан 7 раз, несмотря на то, что всего будет выполнено 11 проходов цикла.

Оператор цикла for

Оператор for  выполняет указанный набор инструкций заданное количество раз, которое определяется количеством элементов в наборе.

Пример. 

for i in range(5):
   print("Hello")

В результате “Hello” будет выведено пять раз.

Внутри тела цикла можно использовать операторы break  и continue, принцип работы их точно такой же как и в операторе while.

Если у вас есть заданный список, и вы хотите выполнить над каждым элементом определенную операцию (возвести в квадрат и напечатать получившееся число), то с помощью for  такая задача решается так.

lst = [1, 3, 5, 7, 9]
for i in lst:
   print(i ** 2)

Также можно пройти по всем буквам в строке.

word_str = "Hello, world!"
for l in word_str:
   print(l)

Строка “Hello, world!” будет напечатана в столбик.

На этом закончим краткий обзор операторов ветвления и цикла.

P.S.

Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.

<<< Python. Урок 4. Арифметические операции   Python. Урок 6. Работа с IPython и Jupyter Notebook >>>

devpractice.ru

if-elif-else. Урок 8 «Python. Введение в программирование»

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

Рассмотрим конкретный пример. Допустим, в зависимости от возраста пользователя, ему рекомендуется определенный видеоконтент. При этом выделяют группы от 3 до 6 лет, от 6 до 12, от 12 до 16, 16+. Итого 4 диапазона. Как бы мы стали реализовывать задачу, имея в наборе инструментов только конструкцию if-else?

Самый простой ответ – последовательно проверять вхождение введенного числа-возраста в определенный диапазон с помощью следующих друг за другом условных операторов:

old = int(input('Ваш возраст: '))
 
print('Рекомендовано:', end=' ')
 
if 3 <= old < 6:
    print('"Заяц в лабиринте"')
 
if 6 <= old < 12:
    print('"Марсианин"')
 
if 12 <= old < 16:
    print('"Загадочный остров"')
 
if 16 <= old:
    print('"Поток сознания"')

Примечание. Названия фильмов выводятся на экран в двойных кавычках. Поэтому в программе для определения строк используются одинарные.

Предложенный код прекрасно работает, но есть одно существенное «но». Он не эффективен, так как каждый if в нем – это отдельно взятый оператор, никак не связанный с другими if. Процессор тратит время и «нервы» на обработку каждого из них, даже если в этом уже нет необходимости. Например, введено число 10. В первом if логическое выражение возвращает ложь, и поток выполнения переходит ко второму if. Логическое выражение в его заголовке возвращает истину, и его тело выполняется. Всё, на этом программа должна была остановиться.

Однако следующий if никак не связан с предыдущим, поэтому далее будет проверяться вхождение значения переменной old в диапазон от 12 до 16, в чем необходимости нет. И далее будет обрабатываться логическое выражение в последнем if, хотя уже понятно, что и там будет False. Что же делать?

Ответом является вложение условных операторов друг в друга:

old = int(input('Ваш возраст: '))
 
print('Рекомендовано:', end=' ')
 
if 3 <= old < 6:
    print('"Заяц в лабиринте"')   
else:
    if 6 <= old < 12:
        print('"Марсианин"')
    else:
        if 12 <= old < 16:
            print('"Загадочный остров"')
        else:
            if 16 <= old:
                print('"Поток сознания"')

Рассмотрим поток выполнения этого варианта кода. Сначала проверяется условие в первом if (он же самый внешний). Если здесь было получено True, то тело этого if выполняется, а в ветку else мы даже не заходим, так как она срабатывает только тогда, когда в условии if возникает ложь.

Если внешний if вернул False, поток выполнения программы заходит в соответствующий ему внешний else. В его теле находится другой if со своим else. Если введенное число попадает в диапазон от 6 до 12, то выполнится тело вложенного if, после чего программа завершается. Если же число не попадает в диапазон от 6 до 12, то произойдет переход к ветке else. В ее теле находится свой условный оператор, имеющий уже третий уровень вложенности.

Таким образом до последней проверки (16 <= old) интерпретатор доходит только тогда, когда все предыдущие возвращают False. Если же по ходу выполнения программы возникает True, то все последующие проверки опускаются, что экономит ресурсы процессора. Кроме того, такая логика выполнения программы более правильная.

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

if логическое_выражение {
    … ;
}
else if логическое_выражение {
    … ;
}
else if логическое_выражение {
    … ;
}
else {
    … ;
}

Может показаться, что имеется только один уровень вложенности, и появляется новое расширение для if, выглядящее как else if. Но это только кажется. На самом деле if, стоящее сразу после else, является вложенным в это else. Выше приведенная схема – то же самое, что

if логическое_выражение {
    … ;
}
else 
    if логическое_выражение {
        … ;
    }
    else 
        if логическое_выражение {
            … ;
        }
        else {
            … ;
        }

Именно так ее «понимает» интерпретатор или компилятор. Однако считается, что человеку проще воспринимать первый вариант.

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

Слово «elif» образовано от двух первых букв слова «else», к которым присоединено слово «if». Это можно перевести как «иначе если».

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

old = int(input('Ваш возраст: '))
 
print('Рекомендовано:', end=' ')
 
if 3 <= old < 6:
    print('"Заяц в лабиринте"')   
elif 6 <= old < 12:
    print('"Марсианин"')
elif 12 <= old < 16:
    print('"Загадочный остров"')
elif 16 <= old:
    print('"Поток сознания"')

Обратите внимание, в конце, после всех elif, может использоваться одна ветка else для обработки случаев, не попавших в условия ветки if и всех elif. Блок-схему полной конструкции if-elif-…-elif-else можно изобразить так:

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

Практическая работа

  1. Спишите последний вариант кода программы из урока. Дополните ее веткой else, обрабатывающие случаи, когда пользователь вводит числа не входящие в заданные четыре диапазона. Подумайте, почему в первой версии программы (когда использовались не связанные друг с другом условные операторы) нельзя было использовать else, а для обработки таких, не входящих в диапазоны, случаев пришлось бы писать еще один if?

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

  3. Напишите программу, которая запрашивает на ввод число. Если оно положительное, то на экран выводится цифра 1. Если число отрицательное, выводится -1. Если введенное число – это 0, то на экран выводится 0. Используйте в коде условный оператор множественного ветвления.

Примеры решения в android-приложении и pdf-версии курса.

younglinux.info

IF, ELIF, ELSE в Python

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

Оператор if в Python

if expression: statements

Принятие решений на Python

В Python оператор if оценивает тестовое выражение внутри скобок. Если тестовое выражение оценивается как true (отличное от нуля), выполняются выражения внутри тела if. Если тестовое выражение оценивается как false (0), утверждения внутри тела if пропускаются.

Пример:

x=20 y=10 if x > y : print(» X is bigger «)

x=20

y=10

if x > y :

print(» X is bigger «)

Вывод:

В этой программе мы имеем две переменные x и y. x присваивается как значение 20, а y равно 10. В следующей строке оператор if вычисляет выражение (x> y) — true или false. В этом случае x> y истинно, потому что x = 20 и y = 10, тогда управление переходит в тело блока if и печатает сообщение «X больше». Если условие ложно, то элемент управления выходит за пределы блока if.

Операции if..else в Python

Оператор else должен указывать блок кода, который должен быть выполнен, если условие в выражении if ложно. Таким образом, предложение else гарантирует выполнение последовательности операторов.

if expression: statements else: statements

if expression:

statements

else:

statements

Пример:

x=10 y=20 if x > y : print(» X is bigger «) else : print(» Y is bigger «)

x=10

y=20

if x > y :

print(» X is bigger «)

else :

print(» Y is bigger «)

Вывод:

В приведенном выше коде, если stat оценивает выражение, это true или false. В этом случае x> y является ложным, тогда элемент управления переходит в тело блока else, поэтому программа будет выполнять код внутри блока else.

if..elif..else заявления в Python

if expression: statements elif expression: statements else: statements

if expression:

statements

elif expression:

statements

else:

statements

Elif не подходит для других, если и полезно избегать чрезмерного отступа.

Пример:

x=500 if x > 500 : print(» X is greater than 500 «) elif x < 500 : print(» X is less than 500 «) elif x == 500 : print(» X is 500 «) else : print(» X is not a number «)

x=500

if x > 500 :

print(» X is greater than 500 «)

elif x < 500 :

print(» X is less than 500 «)

elif x == 500 :

print(» X is 500 «)

else :

print(» X is not a number «)

Вывод:

В приведенном выше случае Python оценивает каждое выражение один за другим, и если будет найдено истинное условие, то оператор (-ы) блок под этим выражением будет выполнен. Если истинное условие не найдено, будет выполняться оператор (-ы) block else.

Вложенные операторы if

В некоторых ситуациях вам нужно разместить оператор if внутри другого оператора.

if condition: if condition: statements else: statements else: statements

if condition:

if condition:

statements

else:

statements

else:

statements

Пример:

mark = 72 if mark > 50: if mark > = 80: print («You got A Grade !!») elif mark > =60 and mark < 80 : print («You got B Grade !!») else: print («You got C Grade !!») else: print(«You failed!!»)

mark = 72

if mark > 50:

if mark > = 80:

print («You got A Grade !!»)

elif mark > =60 and mark < 80 :

print («You got B Grade !!»)

else:

print («You got C Grade !!»)

else:

print(«You failed!!»)

Вывод:

Оператор not в выражении if

Используя ключевое слово «Не», мы можем изменить значение выражений, более того, мы можем инвертировать выражение.

Пример:

mark = 100 if not (mark == 100): print(«mark is not 100») else: print(«mark is 100»)

mark = 100

if not (mark == 100):

print(«mark is not 100»)

else:

print(«mark is 100»)

Вывод:

Вы можете написать тот же код, используя оператор «! =».

Пример:

mark = 100 if (mark != 100): print(«mark is not 100») else: print(«mark is 100»)

mark = 100

if (mark != 100):

print(«mark is not 100»)

else:

print(«mark is 100»)

Вывод:

Оператор and в выражении if

Эквивалент «& &» — «и» в Python.

Пример::

mark = 72 if mark > 80: print («You got A Grade !!») elif mark > =60 and mark < 80 : print («You got B Grade !!») elif mark > =50 and mark < 60 : print («You got C Grade !!») else: print(«You failed!!»)

mark = 72

if mark > 80:

print («You got A Grade !!»)

elif mark > =60 and mark < 80 :

print («You got B Grade !!»)

elif mark > =50 and mark < 60 :

print («You got C Grade !!»)

else:

print(«You failed!!»)

Вывод:

Оператор in в выражении if

Пример:

color = [‘Red’,’Blue’,’Green’] selColor = «Red» if selColor in color: print(«Red is in the list») else: print(«Not in the list»)

color = [‘Red’,’Blue’,’Green’]

selColor = «Red»

if selColor in color:

print(«Red is in the list»)

else:

print(«Not in the list»)

Вывод:

 

Источник: net-informations.com

bunkerbook.ru

Python с нуля — часть 4: управляющие конструкции

Структура управляющей конструкции ( или «принятия решения«) требует, что бы программист задал одно или более условий, которые будут выполнены и проверены программой и одного или нескольких действий, которые будут выполнены если условие будет определено как истина (true) и, опционально, другие выражения, которые будут выполнены если условие будет определено как ложь (false).

Ниже приведёна форма типичной структуры формы управляющей конструкции, которая схожа в большинстве языков программирования:

Язык программирования Python предполагает любое не равное нулю или не пустое значение как истину (true), и наоборот — если значение будет пустым или равно нулю — то оно будет считаться ложью (false).

В Python имеются такие типы операторов для этой конструкции:

StatementDescription
if statementsAn if statement consists of a boolean expression followed by one or more statements.
if…else statementsAn if statement can be followed by an optional else statement, which executes when the boolean expression is false.
nested if statementsYou can use one if or else if statement inside another if or else if statement(s).

Одиночные наборы условий

Если набор if состоит только из одной линии — он может продолжаться на той же линии, являясь как бы заголовком выражения.

Вот пример такого такого однострочного выражения:

var = 100
if ( var  == 100 ) : print "Value of expression is 100"
print "Good bye!"

When the above code is executed, it produces the following result:
Value of expression is 100
Good bye!

Оператор IF

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

Ситаксис

Синтаксис оператора if в Python-е такой:

if условие:
   действие(s)

Если логическое условие является истиной (true), тогда блок действия в выражении будет выполнен. Если условие считается ложью (false) — тогда будет выполнен следующий блок кода после этого выражения.

 

Пример
var1 = 100
if var1:
   print "1 - Got a true expression value"
   print var1

var2 = 0
if var2:
   print "2 - Got a true expression value"
   print var2
print "Good bye!"

 

Когда этот код будет выполнен — он приведёт к такому результату:

1 - Got a true expression value
100
Good bye!

Операторы IF…ELIF…ELSE

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

Это опциональный оператор, и он может быть только один во всем выражении после if.

Ситаксис
if условие:
   действие(я)
else:
   действие(я)

Пример
var1 = 100
if var1:
   print "1 - Got a true expression value"
   print var1
else:
   print "1 - Got a false expression value"
   print var1

var2 = 0
if var2:
   print "2 - Got a true expression value"
   print var2
else:
   print "2 - Got a false expression value"
   print var2

print "Good bye!"

Результат выполнения:

1 - Got a true expression value
100
2 - Got a false expression value
0
Good bye!

Оператор elif

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

Как и оператор else, elif опционален, однако в отличии от else он может использоваться многократно.

Синтаксис
if условие:
   действие(я)
elif условие2:
   действие(я)
elif условие3:
   действие(я)
else:
   действие(я)

В Python нет таких операторов как switch или case, но можно использовать операторы if..elif... вместо них.

Пример
var = 100
if var == 200:
   print "1 - Got a true expression value"
   print var
elif var == 150:
   print "2 - Got a true expression value"
   print var
elif var == 100:
   print "3 - Got a true expression value"
   print var
else:
   print "4 - Got a false expression value"
   print var

print "Good bye!"

При выполнении этого кода — будет получен такой результат:

3 - Got a true expression value
100
Good bye!

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

Бывают случаи, когда вы хотите провести ещё одну проверку после того, как результат выражения принят как истина. В таком случае — можно использовать вложенные управляющие конструкции if.

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

Ситаксис
if условие1:
   действие(я)
   if условие2:
      действие(я)
   elif условие3:
      действие(я)
   else
      действие(я)
elif условие4:
   statement(s)
else:
   statement(s)
Пример
var = 100
if var < 200:
   print "Expression value is less than 200"
   if var == 150:
      print "Which is 150"
   elif var == 100:
      print "Which is 100"
   elif var == 50:
      print "Which is 50"
elif var < 50:
   print "Expression value is less than 50"
else:
   print "Could not find true expression"

print "Good bye!"

Результат его выполнения:

Expression value is less than 200
Which is 100
Good bye!

 


rtfm.co.ua