Часто, при реализации алгоритмов, нужно выполнять выбор хода выполнения программы в зависимости от заданного условия. Для обеспечения этого современные языки программирования (Java, Java Script, C#, C++ и прочие) содержат соответствующие управляющие операторы (control statements), одним из которых есть оператор ветвления if . Язык программирования Python также имеет в своем арсенале инструкцию if , работа которой ничем не отличается от такой же инструкции других языков программирования.
Инструкцию if еще называют оператором if (statement if ).
2. Какие формы (разновидности) имеет инструкция if в Python?
В языке Python инструкция if имеет следующие четыре формы:
- полная форма if-elif-else ;
- сокращенная форма if ;
- сокращенная форма if-else ;
- сокращенная форма if-elif .
3. Полная форма инструкции if ( if-elif-else ). Принцип выполнения
В языке программирования Python общая форма инструкции if имеет вид:
Уроки Python / Конструкция if elif else — если то иначе — Условная инструкция
if выражение1 : набор1 elif выражение2 : набор2 . elif выражениеN : наборN else: наборN+1
где выражение1 , выражение2 , выражениеN – соответствующее условное выражение, которое проверяется на истинность. Если условное выражение истинно, то его значение равно True (истина). В этом случае выполняется соответствующий набор (множество) операторов набор1 , набор2 , наборN , наборN+1 .
Инструкция if работает следующим образом. Если выражение1 равно True , то выполняется набор1 операторов, в противном случае происходит переход к проверке условия выражение2 . По такому же принципу обрабатываются ветви выражение2 , …, выражениеN . Если ни одно из выражений выражение1 , выражение2 , …, выражениеN не выполняется (равно False ), то выполняется наборN+1 , который следует после ключевого слова else .
4. Сокращенная форма if . Принцип выполнения
Сокращенная форма инструкции if не содержит блоков elif и else и имеет следующий вид
if выражение : набор
В этом случае набор операторов выполняется если выражение истинно, то есть равно True . В противном случае, выполняется следующий после if оператор.
5. Сокращенная форма if-else . Принцип выполнения
Сокращенная форма может иметь общий вид if-else
if выражение : набор1 else: набор2
Приведенная выше форма оператора if работает по следующему принципу. Сначала проверяется значение выражение . Если выражение истинно (равно True ), то выполняется набор1 операторов. В противном случае (выражение равно False ) выполняется набор2 операторов.
6. Сокращенная форма if-elif . Принцип выполнения
Сокращенная форма if-elif может иметь следующий вид
if выражение1 : набор1 elif выражение2 : набор2 . elif выражениеN : наборN
В этой форме оператор if подобен оператору switch в других языках программирования. Оператор if-elif работает по следующему принципу. Если значение выражение1 истинно (равное True ), то выполняется набор1 и происходит выход из оператора if-elif . В противном случае (значение выражение1 равно False ) происходит переход к следующей ветви оператора на проверку выражение2 . Таким образом, выполняется та ветвь оператора if-elif , значение выражения в которой равно True . Если ни одно из выражений выражение1 , выражение2 , …, выражениеN не выполняется, тогда происходит переход к следующему после if-elif оператору.
15 Условный оператор if Python. Если Python
7. Пример, который демонстрирует использование конструкции if-elif-else (полная форма)
Задано целочисленное значение n =1..3 и радиус r . По заданному значению n вычислить:
- 1 — длина окружности;
- 2 — площадь круга;
- 3 — объем шара.
Текст программы в программном режиме имеет следующий вид
n=2 # ввод данных r=5.5 pi=3.1415 # вычисление, оператор if if n==1: s=2*pi*r print(«Длина окружности color: #0000ff;»>elif n==2: s=pi*r*r print(«Площадь круга color: #0000ff;»>elif n==3: s=4.0/3*pi*r*r*r print(«Объем шара color: #0000ff;»>else: print(«Неверно введены данные») print(«———————-«)
В результате выполнения вышеприведенного кода будет получен следующий результат
Площадь круга = 95.03037499999999 ———————-
8. Пример решения квадратного уравнения с использованием инструкции if в интерактивном режиме
Ниже приведен пример решения квадратного уравнения для заданных коэффициентов a , b , c . В примере демонстрируется сокращенная форма оператора if .
>>> a = 8 # задать начальные значения a,b,c >>> b = 3 >>> c = -2 >>> d = b*b-4*a*c # вычислить дискриминант >>> if d>=0: x1=(-b-(d**0.5))/(2*a) x2=(-b+(d**0.5))/(2*a) >>> x1,x2 (-0.7215002340823456, 0.34650023408234565) >>>
С помощью нижеследующего кода можно проверить значения дискриминанта d и правильность полученного результата
>>> d 73 >>> a*x1*x1+b*x1+c 0.0 >>> a*x2*x2+b*x2+c -4.440892098500626e-16 >>>
Как видно из результата, значение x1 , x2 приближено к нулю, то есть решение верно.
9. Пример решения квадратного уравнения с использованием инструкции if в программном режиме
В примере демонстрируется использование оператора if для нахождения решения квадратного уравнения. Код приведен для программного режима. С помощью функции print() выводится результат вычислений и результат проверки. Если значение дискриминанта d
a=2 # задать значение a,b,c b=5 c=-4 d=b*b-4*a*c # вычислить d if d>=0: # оператор if x1=(-b-(d**0.5))/(2*a) x2=(-b+(d**0.5))/(2*a) print(«d color: #ff0000;»># вывод результата print(«x1 color: #800080;»>print(«x2 color: #800080;»>print print(«Проверка:») print(«a*x1*x1+b*x1+c color: #800080;»>print(«a*x2*x2+b*x2+c color: #ff6600;»>else: print(«уравнение не имеет решения»)
Как видно из примера, если в инструкции if нужно выполнить несколько операторов подряд (сгруппировать), то они выделяются с помощью отступов.
После запуска на выполнение, в среде Python будет получен следующий результат:
d = 57 x1 = -3.1374586088176875 x2 = 0.6374586088176875 Проверка: a*x1*x1+b*x1+c = 0.0 a*x2*x2+b*x2+c = 0.0
10. Пример использования инструкции if-elif . Определение количества дней в месяце и наличия высокосного года
Задан год и месяц. Разработать программу, которая определяет:
- является ли заданный год высокосным;
- количество дней в заданном месяце данного года. В программе произвести расчет высокосного года.
Текст программы следующий
year=2100 # установить некоторый год month=2 # установить некоторый месяц # # определение высокосного года f_leap_year=True # в начале принять, что год высокосный if year%400==0: print(«год высокосный») elif year%100==0: print(«год невысокосный») f_leap_year=False elif year%4==0: print(«год высокосный») else: print(«год невысокосный») f_leap_year=False print(«———————«) # # определение количества дней в месяце print(«Количество дней в месяце:») nDays=31 # в начале количество дней равно 31 if (month==2)and(f_leap_year==True): nDays=29 elif (month==2)and(f_leap_year==False): nDays=28 elif (month==4)or(month==6)or(month==9)or(month==11): nDays=30 print(nDays)
В вышеприведенном коде дополнительно использованы логические операции and (логическое «и» ) и or (логическое «или» ).
В результате выполнения кода, будет получен следующий результат
год невысокосный ——————— Количество дней в месяце: 28 >>>
11. Пример использования вложенной инструкции if-elif . Модифицированный вариант программы определения количества дней в месяце с учетом высокосного года
В данном примере демонстрируется использование вложенной инструкции if-elif для проведения расчета количества дней в месяце на основе следующих входных данных:
- год;
- номер месяца в году.
Важно вычислить, есть ли заданный год высокосным.
Текст программы следующий:
year=2108 # установить некоторый год month=2 # установить некоторый месяц # # определение высокосного года f_leap_year=True # в начале принять, что год высокосный if year%400==0: print(year,»- год высокосный») elif year%100==0: print(year,»- год невысокосный») f_leap_year=False elif year%4==0: print(year,»- год высокосный») else: print(year,»- год невысокосный») f_leap_year=False print(«———————«) # # определение количества дней в месяце if month==2: if f_leap_year==True: # вложенный оператор if-else nDays=29 else: nDays=28 elif (month==4)or(month==6)or(month==9)or(month==11): nDays=30 else: nDays=31 print(«Количество дней в месяце:», month) print(«nDays color: #0000ff;»>if-else. Вложенность определяется с помощью отступов
. if month==2: if f_leap_year==True: # вложенный оператор if-else nDays=29 else: nDays=28 elif .
После запуска на выполнение программа выдаст следующий результат:
2108 — год високосный ——————— Количество дней в месяце: 2 nDays= 29 >>>
12. Пример, который демонстрирует использование сокращенной конструкции if . Поиск максимального значения между тремя величинами
В примере демонстрируется использование сокращенной инструкции if для поиска максимального значения между тремя величинами a , b , c . Текст программы следующий:
# поиск максимума между величинами a, b, c # установить произвольные значения a,b,c=20,30,17 # поиск максимума mx mx=a; if mxif mxprint(«Max color: #0000ff;»>Max = 30 >>>
Связанные темы
- Оператор присваивания. Формы присваивания. Примеры. Позиционное присваивание кортежей, списков
- Оператор while . Примеры
- Оператор for . Примеры
Источник: www.bestprog.net
Инструкция if-elif-else, проверка истинности, трехместное выражение if/else
Условная инструкция if-elif-else (её ещё иногда называют оператором ветвления) — основной инструмент выбора в Python. Проще говоря, она выбирает, какое действие следует выполнить, в зависимости от значения переменных в момент проверки условия.
Синтаксис инструкции if
Сначала записывается часть if с условным выражением, далее могут следовать одна или более необязательных частей elif, и, наконец, необязательная часть else. Общая форма записи условной инструкции if выглядит следующим образом:
Простой пример (напечатает ‘true’, так как 1 — истина):
Чуть более сложный пример (его результат будет зависеть от того, что ввёл пользователь):
Конструкция с несколькими elif может также служить отличной заменой конструкции switch — case в других языках программирования.
Проверка истинности в Python
- Любое число, не равное 0, или непустой объект — истина.
- Числа, равные 0, пустые объекты и значение None — ложь
- Операции сравнения применяются к структурам данных рекурсивно
- Операции сравнения возвращают True или False
- Логические операторы and и or возвращают истинный или ложный объект-операнд
Истина, если оба значения X и Y истинны.
Истина, если хотя бы одно из значений X или Y истинно.
Истина, если X ложно.
Трехместное выражение if/else
довольно короткая, но, тем не менее, занимает целых 4 строки. Специально для таких случаев и было придумано выражение if/else:
В данной инструкции интерпретатор выполнит выражение Y, если X истинно, в противном случае выполнится выражение Z.
Для вставки кода на Python в комментарий заключайте его в теги
- Модуль csv — чтение и запись CSV файлов
- Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
- Онлайн-обучение Python: сравнение популярных программ
- Книги о Python
- GUI (графический интерфейс пользователя)
- Курсы Python
- Модули
- Новости мира Python
- NumPy
- Обработка данных
- Основы программирования
- Примеры программ
- Типы данных в Python
- Видео
- Python для Web
- Работа для Python-программистов
- Сделай свой вклад в развитие сайта!
- Самоучитель Python
- Карта сайта
- Отзывы на книги по Python
- Реклама на сайте
Источник: pythonworld.ru
if else в Python
Зачастую нам не нужно, чтобы в программе выполнился весь код. Вместо этого мы можем сделать так, чтобы определенный кусочек кода запускался только при выполнении определенного условия, а другая часть кода запускалась, если условие не выполнено. Вот тут и пригодятся условные операторы if и else.
Условные операторы if else в Python позволяют четко и компактно управлять логическим потоком программы. Они представляют собой ответвления – как развилки на дороге – которые изменяют способ выполнения кода и управляют процессом принятия решений.
Сегодня мы рассмотрим основы работы с операторами if , if. else и elif в Python, а также разберем всё на примерах.
Итак, давайте начнем!
Синтаксис базового оператора if
Оператор if в Python, по существу, говорит:
«Если это выражение оценивается как верное ( True ), то нужно запустить один раз код, следующий за выражением if . Если это выражение ложно (т.е. False ), то этот блок кода запускать не нужно».
Общий синтаксис if -блока выглядит следующим образом:
if условие: выполняй вот этот блок
Состав if -блока:
- Ключевое слово if , с которого и начинается блок кода.
- Затем идет условие. Его значение может оцениваться как истинное ( True ) или ложное ( False ). Круглые скобки вокруг условия необязательны, но они помогают улучшить читаемость кода, когда присутствует более одного условия.
- Двоеточие отделяет условие от следующих за ним инструкций.
- Новая строка и отступ из 4 пробелов (размер отступа оговорен в соглашениях по стилю Python).
- Наконец, идет само тело конструкции. Это код, который будет запускаться только в том случае, если наше условие выполняется, т.е. имеет значение True . В теле может быть несколько инструкций. В этом случае нужно быть внимательным: все они должны иметь одинаковый уровень отступа.
Возьмем следующий пример:
a = 1 b = 2 if b > a: print(» b is in fact bigger than a») # Output: b is in fact bigger than a
В приведенном выше примере мы создали две переменные, a и b , и присвоили им значения 1 и 2 соответственно.
Фраза в операторе print() выводится в консоль, потому что условие b > a оценивается как True . Раз условие истинно, следующий за ним код запускается. А если бы a было больше b , ничего бы не случилось. Код бы не запустился и ничего бы не вывелось в консоль.
a = 1 b = 2 if a > b print(«a is in fact bigger than b»)
Поскольку у нас a меньше b , условие оценивается как False , и в консоль ничего не выводится.
Как работает оператор if else в Python?
Оператор if запускает код только при выполнении условия. Иначе ничего не происходит.
Если же мы хотим, чтобы какая-то часть кода запускалась, когда условие не выполняется, нам нужен еще один оператор – else .
Синтаксис блока if..else выглядит следующим образом:
if условие: выполнить, если условие истинно else: выполнить, если условие ложно
По сути оператор if..else в Python говорит:
«Когда выражение после if оценивается как истинное ( True ), нужно выполнить следующий за ним код. Но если оно оценивается как ложное ( False ), нужно выполнить код, следующий за оператором else ».
Оператор else записывается на новой строке после последней строки кода с отступом и не может быть записан сам по себе. Оператор else является частью оператора if .
Код, следующий за else , также должен иметь отступ в 4 пробела, чтобы показать, что он является частью конструкции else .
Код, следующий за оператором else , выполняется только тогда, когда условие в if имеет значение False . Если условие в блоке if имеет значение True и, следовательно, запущен код после if , то код в блоке else не запустится.
a = 1 b = 2 if a < b: print(» b is in fact bigger than a») else: print(«a is in fact bigger than b»)
Здесь строка кода, следующая за оператором else , print(» a is in fact bigger than b») никогда не будет запущена. Условие в блоке if имеет значение True , поэтому выполняется только эта часть кода.
Блок else запускается в следующем случае:
a = 1 b = 2 if a > b: print(» a is in fact bigger than b») else: print(«b is in fact bigger than a») # Output: b is in fact bigger than a
Имейте в виду, что нельзя написать какой-либо другой код между if и else . Вы получите SyntaxError , если сделаете это:
if 1 > 2: print(«1 is bigger than 2») print(«hello world») else: print(«1 is less than 2») # Output: # File «», line 3 # print(«hello world») # ^ # SyntaxError: invalid syntax
От редакции Pythonist. Также рекомендуем почитать «Блок else в циклах».
Как работает elif в Python?
Что, если мы хотим иметь больше, чем два варианта?
Вместо того, чтобы говорить: «Если первое условие истинно, сделай одно, в противном случае сделай другое», мы говорим: «Если это условие не истинно, попробуй другое, но если все условия не выполняются, сделай вот это».
elif означает else + if .
Базовый синтаксис данной конструкции выглядит так:
if первое_условие: выполнить одно elif второе_условие: выполнить другое else: выполнить это, если все предыдущие условия ложны