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 num > 100: if num < 150: print "Число больше ста, но меньше ста пятидесяти" elif num < 200: print "Число больше ста, но меньше двухсот" elif num > 50: if num < 90: print "Число больше пятидесяти, но меньше девяноста" else: print "Число больше пятидесяти и больше девяноста" else: print "Число меньше пятидесяти"
Логика выполнения вложенных условных конструкций та же, что и у обычных. Главное не запутаться с отступами и порядком выполнения сравнений.
pythonicway.com
Инструкция 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'
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
Python | Условная конструкция if
Условная конструкция if
Последнее обновление: 23.04.2017
Условные конструкции используют условные выражения и в зависимости от их значения направляют выполнение программы по одному из путей. Одна из таких конструкций — это конструкция if. Она имеет следующее формальное определение:
if логическое_выражение: инструкции [elif логическое выражение: инструкции] [else: инструкции]
В самом простом виде после ключевого слова if идет логическое выражение. И если это логическое выражение возвращает True, то выполняется последующий блок инструкций, каждая из которых должна начинаться с новой стоки и должна иметь отступы от начала строки:
age = 22 if age > 21: print("Доступ разрешен") print("Завершение работы")
Поскольку в данном случае значение переменной age больше 21, то будет выполняться блок if, а консоль выведет следующие строки:
Доступ разрешен Завершение работы
Отступ желательно делать в 4 пробела или то количество пробелов, которое кратно 4.
Обратите внимание в коде на последнюю стоку, которая выводит сообщение «Завершение работы». Она не имеет отступов от начала строки, поэтому она не принадлежит к блоку if и будет выполняться в любом случае, даже если выражение в конструкции if возвратит False.
Но если бы мы поставили бы отступы, то она также принадлежала бы к конструкции if:
age = 22 if age > 21: print("Доступ разрешен") print("Завершение работы")
Если вдруг нам надо определить альтернативное решение на тот случай, если условное выражение возвратит False, то мы можем использовать блок else:
age = 18 if age > 21: print("Доступ разрешен") else: print("Доступ запрещен")
Если выражение age > 21
возвращает True, то выполняется блок if, иначе выполняется блок else.
Если необходимо ввести несколько альтернативных условий, то можно использовать дополнительные блоки elif, после которого идет блок инструкций.
age = 18 if age >= 21: print("Доступ разрешен") elif age >= 18: print("Доступ частично разрешен") else: print("Доступ запрещен")
Вложенные конструкции if
Конструкция if в свою очередь сама может иметь вложенные конструкции if:
age = 18 if age >= 18: print("Больше 17") if age > 21: print("Больше 21") else: print("От 18 до 21")
Стоит учитывать, что вложенные выражения if также должны начинаться с отступов, а инструкции во вложенных конструкциях также должны иметь отступы. Отступы, расставленные не должным образом, могут изменить логику программы. Так, предыдущий пример НЕ аналогичен следующему:
age = 18 if age >= 18: print("Больше 17") if age > 21: print("Больше 21") else: print("От 18 до 21")
Теперь напишем небольшую программку, которая использует условные конструкции. Данная программка будет представлять собой своего рода обменный пункт:
# Программа Обменный пункт usd = 57 euro = 60 money = int(input("Введите сумму, которую вы хотите обменять: ")) currency = int(input("Укажите код валюты (доллары - 400, евро - 401): ")) if currency == 400: cash = round(money / usd, 2) print("Валюта: доллары США") elif currency == 401: cash = round(money / euro, 2) print("Валюта: евро") else: cash = 0 print("Неизвестная валюта") print("К получению:", cash)
С помощью функции input()
получаем вводимые пользователем данные на консоль. Причем данная функция возвращает данные в виде строки,
поэтому нам надо ее еще привести к целому числу с помощью функции int()
, чтобы введенные данные можно было использовать в арифметических операциях.
Программа подразумевает, что пользователь вводит количество средств, которые надо обменять, и код валюты, на которую надо произвести обмен. Коды валюты достаточно условны: 400 для долларов и 401 для евро.
С помощью конструкции if проверяем код валюты и делим на соответствующий валютный курс. Так как в процессе деления образуется довольно длинное число с плавающей точкой,
которое может содержать множество знаков после запятой, то оно округляется до двух чисел после запятой с помощью функции round()
.
В завершении на консоль выводится полученное значение. Например, запустим программу и введем какие-нибудь данные:
Введите сумму, которую вы хотите обменять: 20000 Укажите код валюты (доллары - 400, евро - 401): 401 Валюта: евро К получению: 333.33
metanit.com
Оператор Python if…else | Python
Изучив это руководство, вы научитесь использовать в 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 с нуля — часть 4: управляющие конструкции
Структура управляющей конструкции ( или «принятия решения«) требует, что бы программист задал одно или более условий, которые будут выполнены и проверены программой и одного или нескольких действий, которые будут выполнены если условие будет определено как истина (true) и, опционально, другие выражения, которые будут выполнены если условие будет определено как ложь (false).
Ниже приведёна форма типичной структуры формы управляющей конструкции, которая схожа в большинстве языков программирования:
Язык программирования Python предполагает любое не равное нулю или не пустое значение как истину (true), и наоборот — если значение будет пустым или равно нулю — то оно будет считаться ложью (false).
В Python имеются такие типы операторов для этой конструкции:
Statement | Description |
---|---|
if statements | An if statement consists of a boolean expression followed by one or more statements. |
if…else statements | An if statement can be followed by an optional else statement, which executes when the boolean expression is false. |
nested if statements | You 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
примеры использования if, else и elif
От автора: условный оператор в Python выполняет различные вычисления или действия в зависимости от того, оценивает ли конкретное логическое ограничение как true или false. Условные операторы обрабатываются в Python операторами IF.
В этом руководстве мы рассмотрим, как в Python применять условные операторы.
Что такое оператор if? Как его использовать?
Что происходит, когда «условие if» не выполняется
Как использовать «условие else»
Бесплатный курс «Python. Быстрый старт»
Получите курс и узнайте, как создать программу для перевода текстов на Python
Получить курсКогда «условие else» не работает
Как использовать условие «elif»
Как выполнить условный оператор с помощью минимального кода
Вложенное выражение if
Оператор Switch
Что такое оператор if? Как его использовать?
В Python оператор if используется для принятия решений. Он будет выполнять тело кода только тогда, когда условие if выполняется. Если вы хотите задать одно условие, в то время как противоположное условие не выполняется, вы используете выражение «if». Синтаксис:
if expression Statement else Statement
if expression Statement else Statement |
Давайте рассмотрим пример:
# #Пример файла для работы с условными операторами # def main(): x,y =2,8 if(x < y): st= «x is less than y» print(st) if __name__ == «__main__»: main()
# #Пример файла для работы с условными операторами # def main(): x,y =2,8 if(x < y): st= «x is less than y» print(st) if __name__ == «__main__»: main() |
Строка кода 5: мы определяем две переменные x, y = 2, 8
Строка кода 7: оператор if проверяет условие x
Строка кода 8: для переменной st установлено «x is less than y».
Строка кода 9: строка print st выведет значение переменной st, которое равно «x is less than y»
Что происходит, когда «условие if» не выполняется
В этом разделе мы рассмотрим, что происходит, когда «условие if» не выполняется.
Строка кода 5: мы определяем две переменные x, y = 8, 4
Строка кода 7: Оператор if проверяет условие x
Строка кода 8: для переменной st НЕ установлено «x is less than y»
Строка кода 9: print st — пытается вывести значение переменной, которая никогда не была объявлена. Следовательно, мы получаем ошибку.
Как использовать «условие else»
«Условие else» обычно используется, когда вам нужно оценить одно утверждение на основе другого. Если одно условие не выполняется, то должно быть другое условие, которое должно выполняться.
# # Пример файла для работы с условными операторами # def main(): x,y =8,4 if(x < y): st= «x is less than y» else: st= «x is greater than y» print (st) if __name__ == «__main__»: main()
# # Пример файла для работы с условными операторами # def main(): x,y =8,4 if(x < y): st= «x is less than y» else: st= «x is greater than y» print (st) if __name__ == «__main__»: main() |
Строка кода 5: мы определяем две переменные x, y = 8, 4
Строка кода 7: Оператор if проверяет условие x
Строка кода 9: поток управления программой переходит к другому оператору
Строка кода 10: для переменной st установлено «x is greater than y»
Строка кода 11: print st выведет значение переменной st, которое равно «x is greater than y»
Когда «условие else» не работает
Может быть много случаев, когда «условие» не даст желаемого результата. Оно выведет неверный результат, поскольку в логике программы есть ошибки. В большинстве случаев это происходит, когда вам нужно оценить в программе более двух утверждений или условий. Пример поможет вам лучше понять эту концепцию.
Здесь обе переменные одинаковы (8,8) и вывод программы «x is greater than y» НЕВЕРЕН. Это связано с тем, что она проверяет первое условие (условие if), а если оно не выполняется, то по умолчанию выводит второе условие (условие else). В следующем разделе мы рассмотрим, как можно исправить эту ошибку.
Бесплатный курс «Python. Быстрый старт»
Получите курс и узнайте, как создать программу для перевода текстов на Python
Получить курс# # Пример файла для работы с условными операторами # def main(): x,y =8,8 if(x < y): st= «x is less than y» else: st= «x is greater than y» print(st) if __name__ == «__main__»: main()
# # Пример файла для работы с условными операторами # def main(): x,y =8,8 if(x < y): st= «x is less than y» else: st= «x is greater than y» print(st) if __name__ == «__main__»: main() |
Как использовать условие «elif»
Чтобы исправить предыдущую ошибку, допущенную условием else, мы можем использовать выражение «elif». С помощью условия «elif», вы указываете программе вывести третий вариант, когда другое условие становится неверным.
# #Пример файла для работы с условными операторами # def main(): x,y =8,8 if(x < y): st= «x is less than y» elif (x == y): st= «x is same as y» else: st=»x is greater than y» print(st) if __name__ == «__main__»: main()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # #Пример файла для работы с условными операторами # def main(): x,y =8,8 if(x < y): st= «x is less than y» elif (x == y): st= «x is same as y» else: st=»x is greater than y» print(st) if __name__ == «__main__»: main() |
Строка кода 5: мы определяем две переменные x, y = 8, 8
Строка кода 7: Оператор if проверяет условие x
Строка кода 10: поток управления программой переходит к другому оператору. Проверяется, верно ли x==y
Строка кода 11: для переменной st установлено «x is same as y»
Строка кода 15: поток управления программой выходит из оператора if (он не переходит к оператору else) и выводится переменная st. Вывод «x is same as y»
Как выполнить условный оператор с помощью минимального кода
В этом разделе мы рассмотрим, как мы можем сжать условный оператор. Вместо того, чтобы выполнять код для каждого условия отдельно, мы можем использовать следующее. Синтаксис:
def main(): x,y = 10,8 st = «x is less than y» if (x < y) else «x is greater than or equal to y» print(st) if __name__ == «__main__»: main()
def main(): x,y = 10,8 st = «x is less than y» if (x < y) else «x is greater than or equal to y» print(st) if __name__ == «__main__»: main() |
Строка кода 2: мы определяем две переменные x, y = 10, 8
Строка кода 3: для переменной st устанавливается «x is less than y», если xy, и для переменной st установлено «x is greater than or equal to y»
Строка кода 4: выводит значение st
Вместо написания длинного кода для условных операторов, Python дает возможность писать код в краткой и лаконичной форме, поставив if и else в одну строку.
Вложенное выражение if
Следующий пример демонстрирует вложенный оператор if.
total = 100 #country = «US» country = «AU» if country == «US»: if total <= 50: print(«Shipping Cost is $50») elif total <= 100: print(«Shipping Cost is $25») elif total <= 150: print(«Shipping Costs $5») else: print(«FREE») if country == «AU»: if total <= 50: print(«Shipping Cost is $100») else: print(«FREE»)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | total = 100 #country = «US» country = «AU» if country == «US»: if total <= 50: print(«Shipping Cost is $50») elif total <= 100: print(«Shipping Cost is $25») elif total <= 150: print(«Shipping Costs $5») else: print(«FREE») if country == «AU»: if total <= 50: print(«Shipping Cost is $100») else: print(«FREE») |
Раскомментируйте строку 2 в приведенном выше коде, закомментируйте строку 3 и снова запустите код.
Оператор switch
Что такое оператор switch? Оператор switch — это многопоточный оператор, который сравнивает значение переменной со значениями, указанными в операторах case. В языке Python нет оператора switch. Для реализации оператора switch Python использует сопоставление словаря.
function(argument){ switch(argument) { case 0: return «This is Case Zero»; case 1: return » This is Case One»; case 2: return » This is Case Two «; default: return «nothing»; }; };
function(argument){ switch(argument) { case 0: return «This is Case Zero»; case 1: return » This is Case One»; case 2: return » This is Case Two «; default: return «nothing»; }; }; |
Альтернатива Python для приведенного выше оператора switch:
def SwitchExample(argument): switcher = { 0: » This is Case Zero «, 1: » This is Case One «, 2: » This is Case Two «, } return switcher.get(argument, «nothing») if __name__ == «__main__»: argument = 1 print (SwitchExample(argument))
def SwitchExample(argument): switcher = { 0: » This is Case Zero «, 1: » This is Case One «, 2: » This is Case Two «, } return switcher.get(argument, «nothing»)
if __name__ == «__main__»: argument = 1 print (SwitchExample(argument)) |
Примеры Python 2
Приведенные выше коды являются примерами Python 3. Если вы хотите запустить Python 2, рассмотрите следующий код.
#Оператор If #Пример файла для работы с условными операторами # def main(): x,y =2,8 if(x < y): st= «x is less than y» print st if __name__ == «__main__»: main() # Как использовать «условие else» # Пример файла для работы с условными операторами # def main(): x,y =8,4 if(x < y): st= «x is less than y» else: st= «x is greater than y» print st if __name__ == «__main__»: main() # Когда «условие else» не работает # Пример файла для работы с условными операторами # def main(): x,y =8,8 if(x < y): st= «x is less than y» else: st= «x is greater than y» print st if __name__ == «__main__»: main() # Как использовать условие «elif» # Пример файла для работы с условными операторами # def main(): x,y =8,8 if(x < y): st= «x is less than y» elif (x == y): st= «x is same as y» else: st=»x is greater than y» print st if __name__ == «__main__»: main() # Как выполнять условные операторы с помощью минимального кода def main(): x,y = 10,8 st = «x is less than y» if (x < y) else «x is greater than or equal to y» print st if __name__ == «__main__»: main() # Вложенный оператор IF total = 100 #country = «US» country = «AU» if country == «US»: if total <= 50: print «Shipping Cost is $50″ elif total <= 100: print «Shipping Cost is $25″ elif total <= 150: print «Shipping Costs $5″ else: print «FREE» if country == «AU»: if total <= 50: print «Shipping Cost is $100″ else: print «FREE» #Оператор Switch def SwitchExample(argument): switcher = { 0: » This is Case Zero «, 1: » This is Case One «, 2: » This is Case Two «, } return switcher.get(argument, «nothing») if __name__ == «__main__»: argument = 1 print SwitchExample(argument)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | #Оператор If #Пример файла для работы с условными операторами # def main(): x,y =2,8 if(x < y): st= «x is less than y» print st if __name__ == «__main__»: main()
# Как использовать «условие else» # Пример файла для работы с условными операторами # def main(): x,y =8,4 if(x < y): st= «x is less than y» else: st= «x is greater than y» print st if __name__ == «__main__»: main()
|
webformyself.com