Содержание

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

Смотреть материал на видео

На этом занятии поговорим об условном операторе. Что это такое? Представьте, что вам нужно вычислить модуль числа, хранящегося в переменной x. Как это сделать? Очевидно, нужно реализовать такой алгоритм.

И в этом алгоритме есть вот такое ветвление программы: при x<0 меняется знак на противоположный, а при других x это не делается. В результате получаем модуль числа в переменной x.

Так вот, чтобы реализовать проверку таких условий в Python имеется один условный оператор if, который в самом простом случае имеет такой синтаксис:

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

или так:

if <условное выражение> : оператор

Если условное выражение истинно, то выполняется оператор, записанный в if. Иначе этот оператор не выполняется.

Используя оператор ветвления, запишем программу для вычисления модуля числа:

x = -5
if(x < 0) : x = -x
print(x)

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

Какие операторы сравнения существуют в Python и как они работают? Многие из них нам известны из школьного курса математики, это:

a > b

Истинно, если a больше b

a < b

Истинно, если a меньше b

a >= b

Истинно, если a больше или равно b

a <= b

Истинно, если a меньше или равно b

a == b

Истинно, если a равно b (обратите внимание, для сравнения используется двойной знак равенства)

a != b

Истинно, если a не равно b

Все эти операторы при сравнении возвращают булевое значение: True – истина или False – ложь. Например:

print(2 > 1)
print(2 == 1)
print(2 != 1)

Результат сравнения можно присвоить переменной, как и любое значение:

result = 7 > 5
print(result)

Сравнение строк

Как вы видите, сравнение двух числовых значений выполняется вполне очевидным образом. Но можно ли, например, сравнивать строки между собой? Оказывается да, можно. Чтобы определить, что одна строка больше другой, Python использует «алфавитный» или «лексикографический» порядок. Другими словами, строки сравниваются посимвольно. Например:

print('Я' > 'А' )
print( 'Кот' > 'Код' )
print( 'Сонный' > 'Сон' )

Алгоритм сравнения двух строк довольно прост:

  1. Сначала сравниваются первые символы строк.
  2. Если первый символ первой строки больше (меньше), чем первый символ второй, то первая строка больше (меньше) второй.
  3. Если первые символы равны, то таким же образом сравниваются уже вторые символы строк.

Сравнение продолжается, пока не закончится одна из строк. Если обе строки заканчиваются одновременно, и все их соответствующие символы равны между собой, то строки считаются равными. Иначе, большей считается более длинная строка.

В примерах выше сравнение ‘Я’ > ‘А’ завершится на первом шаге, тогда как строки «Кот» и «Код» будут сравниваться посимвольно:

  1. К равна К.
  2. о равна о.
  3. т больше чем д.

На этом сравнение заканчивается. Первая строка больше.

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

Теперь, когда мы знаем как сравниваются между собой величины, вернемся к нашему условному оператору if. И предположим, что хотим определить знак числа в переменной x. Конечно, проверку можно записать вот так:

x = -5
if x < 0 : print("x отрицательное число")
if x >= 0 : print("x неотрицательное число")

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

x = 5
if x < 0:
    print("x отрицательное число")
else:
    print("x неотрицательное число")

Теперь, у нас здесь всего одно условие. Если оно истинно, то выполнится первый print, а иначе – второй. Такая программа будет работать быстрее. И обратите внимание на синтаксис записи функции print: перед ней необходимо записать хотя бы один пробел (обычно ставится 4 пробела или символ табуляции). Эти пробелы в Python означают блок кода, который выполняется по некоторому условию. В данном случае блок кода состоит всего из одного оператора print. То же самое и для else.

В общем случае, синтаксис оператора if else следующий:

if(<выражение>): оператор 1
else: оператор 2

или

if(<выражение>):
    оператор 1
else:
    оператор 2

Если же мы хотим по такому принципу выполнить три проверки: x > 0; x < 0; x == 0, то предыдущую программу можно записать так:

if x < 0:
 print("x отрицательное число")
elif x > 0:
    print("x положительное число")
else:
    print("x равен 0")

И вообще таких конструкций

if – elif – elif –…– elif – else

может быть много. Далее, обратим внимание на такой факт: во всех наших примерах по условию шел один оператор – print. Но что если нужно выполнить несколько операторов по некоторому условию? Для этого их нужно записывать по такому синтаксису:

if <условие>:
    оператор 1
    оператор 1
    …
    оператор N

Например:

x = -10; sgn = 0
if x < 0:
    sgn = -1
    print("x отрицательное число", sgn)
elif x > 0:
    sgn = 1
    print("x положительное число", sgn)
else:
    print("x равен 0", sgn)

Здесь по первым двум условиям выполняется два оператора: присвоение значения переменной sgn и вывод результата в консоль.

В ряде случаев конструкцию if-else удобнее записывать через тернарный условный оператор, который имеет такой синтаксис:

result = значение1 if <условие> else значение2

При истинности условия возвращается значение1, в противном случае – значение2. Например:

age = 18
accessAllowed = True if age >= 18 else False
print(accessAllowed)

Получим True, если возраст (age) больше или равен 18, иначе – False. Кстати, проверку из данного примера можно сделать короче, просто прописав

accessAllowed = age >= 18

здесь оператор >= вернет True при возрасте больше или равен 18 и False – в противном случае.

Теперь, когда мы разобрались с базовыми моментами проверки условий, сделаем следующий шаг и попробуем реализовать проверку попадания переменной x в диапазон [2; 7], то есть, условие должно быть истинным, когда x принимает значения в этом диапазоне чисел. Очевидно, что здесь должно быть две проверки: первая – мы проверяем, что x >= 2 и вторая – проверяем, что x <= 7. Если оба этих условия выполняются одновременно, то x попадает в наш диапазон. Реализовать такую проверку на Python можно так:

x = 4
if x >= 2 and x <= 7 : print("x попадает в [2; 7]")
else: print("x не попадает в [2; 7]")

Смотрите, здесь записано два условия, объединенных по И (and – это И). В результате, общее составное условие будет считаться истинным, если истинно и первое и второе условие. Если хотя бы одно из этих условий ложно, то ложно и все составное условие. В результате мы корректно реализуем проверку на вхождение значения переменной в диапазон [2; 7].

А теперь давайте реализуем противоположное условие, что x не принадлежит диапазону [2; 7]. Условие будет таким:

x = 40
if(x < 2 or x > 7): print("x не попадает в [2; 7]")
else: print("x попадает в [2; 7]")

Здесь в составном условии используется связка по ИЛИ (or – это ИЛИ) и оно будет истинно, если истинно или первое, или второе условие. То есть, в нашем случае, если x < 2 или x > 7, то делается вывод о невхождении переменной x в указанный диапазон.

Итак, запомните следующие правила:

  • условие x >= 2 and x <= 7 истинно, если истинно каждое из подусловий (x>=2 и x <= 7) и ложно, если ложно хотя бы одно из них;
  • условие x < 2 or x > 7 истинно, если истинно хотя бы одно из подусловий (x < 2 или x > 7) и ложно, когда оба ложны.

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

x = 4; y = -2
if x >= 2 and x <= 7 and (y < 0 or y > 5):
   print("x попадает в [2; 7], y не попадает в [0; 5]")

Здесь реализована проверка, что x должно принадлежать [2; 7], а y не принадлежать [0; 5]. И обратите внимание вот на эти круглые скобки. Дело в том, что приоритет у операции and выше, чем у or, поэтому без скобок у нас бы получилась вот такая проверка:

if (x >= 2 and x <= 7 and y < 0) or (y > 5)

то есть, мы проверяли бы, что x принадлежит [2; 7] и y меньше нуля ИЛИ y больше 5. Как вы понимаете – это уже совсем другая проверка. Поэтому учитывайте приоритет этих операций при формировании составного условия. Если нужно изменить приоритет – используйте круглые скобки.

Одиночные проверки

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

x = 4; y = True; z = False
if(x): print("x = ", x, " дает true")
if(not 0): print("0 дает false")
if("0"): print("строка 0 дает true")
if(not ""): print("пустая строка дает false")
if(y): print("y = true дает true")
if(not z): print("z = false дает false")

Вот этот оператор not – это отрицание – НЕ, то есть, чтобы проверить, что 0 – это false мы преобразовываем его в противоположное состояние с помощью оператора отрицания НЕ в true и условие срабатывает. Аналогично и с переменной z, которая равна false.

Из этих примеров можно сделать такие выводы:

  1. Любое число, отличное от нуля, дает True. Число 0 преобразуется в False.
  2. Пустая строка – это False, любая другая строка с символами – это True.
  3. С помощью оператора not можно менять условие на противоположное (в частности, False превращать в True).

Итак, в условиях мы можем использовать три оператора: and, or и not. Самый высокий приоритет у операции not, следующий приоритет имеет операция and и самый маленький приоритет у операции or. Вот так работает оператор if в Python.

Видео по теме

#1. Первое знакомство с Python Установка на компьютер

#2. Варианты исполнения команд. Переходим в PyCharm

#3. Переменные, оператор присваивания, функции type и id

#4. Числовые типы, арифметические операции

#5. Математические функции и работа с модулем math

#6. Функции print() и input(). Преобразование строк в числа int() и float()

#7. Логический тип bool. Операторы сравнения и операторы and, or, not

#8. Введение в строки. Базовые операции над строками

#9. Знакомство с индексами и срезами строк

#10. Основные методы строк

#11. Спецсимволы, экранирование символов, row-строки

#12. Форматирование строк: метод format и F-строки

#13. Списки — операторы и функции работы с ними

#14. Срезы списков и сравнение списков

#15. Основные методы списков

#16. Вложенные списки, многомерные списки

#17. Условный оператор if. Конструкция if-else

#18. Вложенные условия и множественный выбор. Конструкция if-elif-else

#19. Тернарный условный оператор. Вложенное тернарное условие

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

#21. Операторы циклов break, continue и else

#22. Оператор цикла for. Функция range()

#23. Примеры работы оператора цикла for. Функция enumerate()

#24. Итератор и итерируемые объекты. Функции iter() и next()

#25. Вложенные циклы. Примеры задач с вложенными циклами

#26. Треугольник Паскаля как пример работы вложенных циклов

#27. Генераторы списков (List comprehensions)

#28. Вложенные генераторы списков

#29. Введение в словари (dict). Базовые операции над словарями

#30. Методы словаря, перебор элементов словаря в цикле

#31. Кортежи (tuple) и их методы

#32. Множества (set) и их методы

#33. Операции над множествами, сравнение множеств

#34. Генераторы множеств и генераторы словарей

#35. Функции: первое знакомство, определение def и их вызов

#36. Оператор return в функциях. Функциональное программирование

#37. Алгоритм Евклида для нахождения НОД

#38. Именованные аргументы. Фактические и формальные параметры

#39. Функции с произвольным числом параметров *args и **kwargs

#40. Операторы * и ** для упаковки и распаковки коллекций

#41. Рекурсивные функции

#42. Анонимные (lambda) функции

#43. Области видимости переменных. Ключевые слова global и nonlocal

#44. Замыкания в Python

#45. Введение в декораторы функций

#46. Декораторы с параметрами. Сохранение свойств декорируемых функций

#47. Импорт стандартных модулей. Команды import и from

#48. Импорт собственных модулей

#49. Установка сторонних модулей (pip install). Пакетная установка

#50. Пакеты (package) в Python. Вложенные пакеты

#51. Функция open. Чтение данных из файла

#52. Исключение FileNotFoundError и менеджер контекста (with) для файлов

#53. Запись данных в файл в текстовом и бинарном режимах

#54. Выражения генераторы

#55. Функция-генератор. Оператор yield

#56. Функция map. Примеры ее использования

#57. Функция filter для отбора значений итерируемых объектов

#58. Функция zip. Примеры использования

#59. Сортировка с помощью метода sort и функции sorted

#60. Аргумент key для сортировки коллекций по ключу

#61. Функции isinstance и type для проверки типов данных

#62. Функции all и any. Примеры их использования

#63. Расширенное представление чисел. Системы счисления

#64. Битовые операции И, ИЛИ, НЕ, XOR. Сдвиговые операторы

#65. Модуль random стандартной библиотеки

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

Последнее обновление: 13.01.2022

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


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

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


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

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


Hello
End

Обратите внимание в коде на последнюю строку, которая выводит сообщение «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". То есть консоль нам выведет следующие строки:


Привет
End

Блок 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:


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» ли нет. И в данном случае мы получим следующий консольный вывод:


English
Good 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("Добрый вечер")

НазадСодержаниеВперед

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 "<stdin>", line 3
# print("hello world")
# ^
# SyntaxError: invalid syntax

От редакции Pythonist. Также рекомендуем почитать «Блок else в циклах».


Как работает elif в Python?

Что, если мы хотим иметь больше, чем два варианта?

Вместо того, чтобы говорить: «Если первое условие истинно, сделай одно, в противном случае сделай другое», мы говорим: «Если это условие не истинно, попробуй другое, но если все условия не выполняются, сделай вот это».

elif означает else + if.

Базовый синтаксис данной конструкции выглядит так:

if первое_условие:
    выполнить одно
elif второе_условие:
    выполнить другое
else:
    выполнить это, если все предыдущие условия ложны

Мы можем использовать более одного оператора elif. Это дает нам больше условий и больше возможностей.

Например:

x = 1
if x > 10:
    print(" x is greater than 10!")
elif x < 10:
      print("x is less than 10!")
elif x < 20 :
      print("x is less than 20!")
else:
     print("x is equal to 10")
# Output: x is less than 10!

В этом примере оператор if проверяет конкретное условие, блоки elif – это две альтернативы, а блок else — последнее решение, если все предыдущие условия не были выполнены.

Важно помнить о порядке, в котором вы пишете свои условия elif.

В предыдущем примере, если бы мы написали:

x = 1
if x > 10:
    print(" x is greater than 10!")
elif x < 20 :
      print("x is less than 20!")
elif x < 10:
      print("x is less than 10!")
else:
     print("x is equal to 10")

была бы выведена строка x is less than 20!, потому что это условие стояло раньше.

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

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

Например, вот случай, когда будет выполняться инструкция else:

x = 10
if x > 10:
    print(" x is greater than 10!")
elif x < 10:
      print("x is less than 10!")
elif x > 20 :
      print("x is greater than 20!")
else:
     print("x is equal to 10")
# Output: x is equal to 10

Заключение

Вот и все!

Это основные принципы if, if..else и elif в Python, которые помогут вам начать работу с условными операторами.

В дальнейшем конструкции могут быть более сложными.

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

Спасибо за чтение и успехов в написании кода!

Перевод статьи «Python If Else Statement – Conditional Statements Explained».

Проверка условий, конструкция if/elif/else в Python.

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

>>> x = int(input("Please enter an integer: "))
# Please enter an integer: 42
>>> if x < 0:
...     x = 0
...     print('Negative changed to zero')
... elif x == 0:
...     print('Zero')
... elif x == 1:
...     print('Single')
... else:
...     print('More')
# More

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

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

if выражение:
    блок кода
elif выражение:
    блок кода
elif выражение:
    блок кода
...
...
else:
    блок кода

Конструкция if вычисляет и оценивает выражения одно за другим, пока одно из них не окажется истинным, затем выполняется соответствующий блок кода . После выполнения блока кода первого истинного (True) выражения, последующие инструкции elif/else не вычисляются и не оцениваются, а блоки кода в них не выполняется. Если все выражения ложны (False), выполняется блок кода инструкции else, если он присутствует.

В предложениях if и elif в качестве условия можно использовать любое выражение Python. В подобных случаях говорят, что условие используется в логическом контексте. В логическом контексте любое выражение рассматривается как истинное или ложное. Любое ненулевое число или любой непустой контейнер (строка, кортеж, список, словарь, множество) расценивается как истинное значение. Нуль (любого числового типа), None и пустой контейнер расцениваются как ложные значения. Для тестирования значения x в логическом контекстеиспользуйте следующий стиль написания кода:

Это наиболее ясная и соответствующая духу Python форма кода.

Примеры

if/elif/else конструкций

Использование None в конструкции if:

a = None
if a is not None:
    print('a НЕ равно None')
else:
    print('a равно None')

Использование False и True в конструкции if:

bul = False
if bul:
    print('bul = True')
else:
    print('bul = False')

Использование integer числа 0 в конструкции if:

number = 0
if number:
    print('number не равно 0')
else:
    print('number = 0')

Использование числовых сравнений в конструкции if:

a = 10
b = 20
if  a != b and a > b:
    print('a не равно b и a больше b')
else:
    print('a не равно b и a меньше b')

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

a = 15
b = 3
if  a != b 
    if a > b:
        print('a больше b')
    else:
        print('a меньше b')
else:
    print('a равно b')

Проверка наличия слова в строке str с помощью конструкции if:

string1 = 'Привет мир'
string2 = 'мир'
if string2 in string1:
    print('Слово "мир" присутствует в строке "Привет мир"')
else:
    print('Слово "мир" отсутствует в строке "Привет мир"')

Проверка вхождения элемента в список list с помощью конструкции if:

a = 'bc'
lst = list['ac', 'bc', 0, 1, 3, 'abc']
if a in lst:
    print('Значение "bc" входит в список', lst)
else:
    print('Значение "bc" не входит в список', lst)

Проверка вхождения элемента в кортеж tuple с помощью конструкции if:

a = 'bc'
tpl = tuple('ac', 'bc', 0, 1, 3, 'abc')
if a in tpl:
    print('Значение "bc" входит в кортеж', tpl)
else:
    print('Значение "bc" не входит в кортеж', tpl)

Проверка вхождения элемента в множество set с помощью конструкции if:

a = 'bc'
set_ = set['ac', 'bc', 0, 1, 3, 'abc']
if a in set_:
    print('Значение "bc" входит в множество', set_)
else:
    print('Значение "bc" не входит в множество', set_)

Проверка наличия ключа key в словаре dict с помощью конструкции if:

key = 'bc'
dct = dict('ac':None, 'bc':False, '0':0, '1':3, '3':1, 'abc':True]
if key in dct:
    print('Ключ "bc" присутствует в словаре', dct)
else:
    print('Ключ "bc" отсутствует в словаре', dct)

Условный оператор if в Python.

Синтаксис, блоки else/elif, примеры

Автор Амина С. На чтение 10 мин Опубликовано

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

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

Содержание

  1. Типы операторов управления
  2. Оператор if
  3. Оператор-выражение if-else
  4. Оператор-выражение if-elif-else
  5. Вложенные операторы
  6. Оператор ifвнутри другого блока условия
  7. Оператор if-else внутри условия else

Типы операторов управления

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

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

В программировании есть такое понятие, как ветвление. Именно оно и означает последовательность команд, которая выполняется лишь при условии истинности определенного условия. Сами критерии могут быть разными:

  1. Равенство переменной определенному значению.
  2. Выполнение определенного действия.
  3. Состояние приложения (свернуто или нет).

Спектр может быть намного больше. Условные операторы бывают нескольких типов:

  1. С одной ветвью. То есть, выполняется единичная проверка, по итогам которой выполняются те или иные действия.
  2. С двумя и больше ветвями. Если критерий 1 соответствует истине, то выполнить проверку критерия 2. Если он соответствует истине, то выполнить проверку 3. И так выполнить такое количество проверок, которое требуется.
  3. С несколькими условиями. Здесь все просто. Интерпретатор проверяет на предмет соответствия несколькими условиям или одному из них.

Оператор if

Структура оператора if схожа во всех языках. Тем не менее, в Python его синтаксис несколько отличается от всех остальных:

if condition:

    <входящее выражение 1>

    <входящее выражение 2>

<не входящее выражение>

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

После этого следует блок с командами. Если он следует непосредственно за критерием, которому надо соответствовать, то соответствующая последовательность команд называется блоком if. Допустимо использование любого количества команд в нем.

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

Согласно документации языка, отступ – 4 пробела. 

Как работает этот оператор? Когда интерпретатор видит слово if, он сразу проверяет выражение на соответствие заданному пользователем критерию. Если это так, то он начинает искать инструкции и выполнять их. Иначе все команды из этого блока пропускаются.

Если у инструкции, которая находится после условия, отступ отсутствует, она не рассматривается, как блок if. В нашей ситуации этой строчкой является <non-intended statement>. Поэтому независимо от результата проверки, эта строка будет выполняться.

Приведем фрагмент кода для примера того, как работает этот оператор.

number = int(input(«Укажите число: «))

if number > 10:

    print(«Число превышает 10»)

Эта программа запрашивает у пользователя число и проверяет, является ли оно больше 10. Если да, то выдает соответствующую информацию. Например, если пользователь введет число 5, то тогда программа просто завершится, и все.

Зато если указать число 100, то интерпретатор поймет, что оно больше десяти, и сообщит об этом.

Внимание! В нашем случае при ложном условии программа останавливается, поскольку за инструкцией никаких команд не дается.

В описанном выше коде команда одна. Но их бывает намного больше. Единственное требование – делать отступы.

Теперь давайте проанализируем эту последовательность команд.

number = int(input(«Напишите число: «))

if number > 10:

    print(«первая строчка»)

    print(«вторая строчка»)

    print(«третья строчка»)

print(«Строка, которая выполняется, независимо от введенного числа»)

print(«Завершение приложения»)

Попробуйте догадаться, какой вывод будет, если указать значения 2, 5, 10, 15, 50.

Как видим, если введенное пользователем число больше десяти, то на вывод идут три строчки + одна с текстом «Выполняется каждый раз…» и одна «Конец», а если меньше десяти, то только одна, с другим текстом. Исполняться в случае истинности будут только строчки 3,4,5. Тем не менее, две последние строки будут написаны независимо от того, какое число укажет пользователь.

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

Предположим, мы написали следующую последовательность команд.

>>>

>>> n = 100

>>> if n > 10:

После этого мы увидим, что >>> заменилась на троеточие. Это означает, что включился режим многострочного ввода. Простыми словами, если нажать Enter, будет осуществлен переход ко вводу второго этапа инструкции. 

А чтобы осуществить выход из этого блока, необходимо еще одну конструкцию добавить в блок if.

>>>

>>> n = 100

>>> if n > 10:

…     print(«n v 10»)

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

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

if-else

Этот оператор позволяет реализовать связку: в случае соответствия выражения определенному правилу, выполнять эти действия, а если нет, – то другие. То есть, он позволяет разделить поток программы на две дороги. Синтаксис интуитивно понятен:

if  condition:

    # блок if

    statement 1

    statement 2

    and so on

else:

    # блок else

    statement 3

    statement 4

    and so on:

Давайте объясним принцип работы этого оператора. Сначала в потоке выполняется стандартный оператор if, проверяющий, соответствует ли condition «истина» или «ложь». Дальнейшие действия зависят от итогов проверки. В случае истинности выполняется непосредственно та инструкция, которая находится в последовательности команд, следующих за условием if, если же оно ложно, выполняется else.  

Таким образом можно обрабатывать ошибки. Например, пользователю нужно ввести радиус. Очевидно, что он может быть только числом со знаком «плюс» или это нулевое значение. Если оно оказывается меньше 0, то необходимо выдать сообщение с просьбой ввести положительное число. 

Вот код, реализующий эту задачу. Но здесь есть одна ошибка. Попробуйте угадать, какая. 

radius = int(input(«Введите радиус: «))

if radius >= 0:

    print(«Длина окружности = «,  2  *  3.14  *  radius)

    print(«Площадь = «, 3.14 * radius ** 2)

    else:

        print(«Пожалуйста, введите положительное число»)

Ошибка в несоответствии отступов. If и Else должны быть расположены без них или с одинаковым их количеством (это зависит от того, вложенные они или нет).

Приведем еще один вариант использования (где все будет правильно с выравниванием операторов) – элемент приложения, проверяющего пароль.

password = input(«Введите пароль: «)

if password == «sshh»:

    print(«Добро пожаловать»)

else:

    print(«Доступ запрещен»)

Эта инструкция пропускает человека дальше, если пароль sshh. Если же любая другая комбинация букв и цифр, то выдает сообщение «Доступ запрещен».

Оператор-выражение if-elif-else

Только если несколько условий не соответствуют истине, выполняется инструкция, которая находится в блоке else. Работает это выражение так.

if condition_1:

    # блок if

    statement

    statement

    more statement

elif condition_2:

    # первый блок elif

    statement

    statement

    more statement

elif condition_3:

    # второй блок elif

    statement

    statement

    more statement

else

    statement

    statement

    more statement

Можно указывать любое количество дополнительных условий.

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

Есть еще один способ реализовать несколько условий – вставить дополнительные проверки условий в блок if.

Оператор

if внутри другого блока условия

gre_score = int(input(«Укажите ваш текущий кредитный лимит»))

per_grad = int(input(«Введите ваш рейтинг по кредитной истории: «))

if per_grad > 70:

    # внешний блок if

        if gre_score > 150:

            # внутренний блок if

    print(«Поздравляем, вы получили кредит»)

else:

    print(«Извините, вам заем не положен»)

Эта программа делает выполняет проверку кредитного рейтинга. Если он меньше 70, программа сообщает, что пользователь не имеет права на кредит. Если же он больше, выполняется вторая проверка, является ли текущий кредитный лимит больше 150. Если да, то выдается сообщение о том, что кредит выдан.

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

Теперь немного переработаем ту программу.

gre_score = int(input(«Введите текущий лимит: «))

per_grad = int(input(«Введите кредитный рейтинг: «))

if per_grad > 70:

    if gre_score > 150:

        print(«Поздравляем, вам выдан кредит»)

    else:

        print(«У вас низкий кредитный лимит»)

else:

    print(«Извините, вы не имеете права на кредит»)

Сам код очень похожий, но вложенный if также предусматривает алгоритм на случай, если условие из него оказывается ложным. То есть, лимит по карте недостаточный, но кредитная история хорошая, выдается сообщение «У вас низкий кредитный рейтинг».

Оператор if-else внутри условия

else

Давайте сделаем другую программу, которая определяет оценку студента, исходя из баллов за тест.

score = int(input(«Введите вашу оценку: «))

if score >= 90:

    print(«Отлично! Ваша оценка А»)

else:

    if score >= 80:

print(«Здорово! Ваша оценка — B»)

    else:

if score >= 70:

    print(«Хорошо! Ваша оценка — C»)

else:

    if score >= 60:

print(«Ваша оценка — D. Стоит повторить материал.»)

    else:

print(«Вы не сдали экзамен»)

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

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

Оцените качество статьи. Нам важно ваше мнение:

Оператор if else в Python

Автор Амина С. На чтение 9 мин Опубликовано

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

Содержание

  1. Что такое оператор управления?
  2. Оператор if
  3. Оператор if-else
  4. Пример 1
  5. Пример 2
  6. Вложенные операторы if-else
  7. if-elif-else

Что такое оператор управления?

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

Операторов управления есть несколько: условные операторы, операторы циклов, а также операторы-выражения break и continue.

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

Оператор if

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

if condition:

    <indented statement 1>

    <indented statement 2>




<non-indented statement>

Первая строка задает непосредственно условие, на которое проверяется выражение. 

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

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

Если же использовать не одинаковое количество пробелов, то приложение вернет синтаксическую ошибку. Как правило, ставят 4 отступа. Именно такая рекомендация приводится в официальной документации Python.

Работает инструкция с этим оператором-выражением следующим образом. Если исполняется инструкция if, то осуществляется проверка на предмет истинности заданного условия. Если обнаруживается, что оно истинно, то тогда все инструкции, которые есть в этом блоке, выполняются. Если же оно ложное, то тогда этот блок попросту пропускается.

Инструкции идут вслед за условием. Если нет отступов, Python понимает эти инструкции, как те, которые не принадлежат к условному блоку. В описанном выше примере синтаксиса такой инструкцией служит <non-indented statement>, которая не имеет отступов. 

Например, так. 

number = int(input("Введите число: "))




if number > 10:

    print("Число больше 10")

Здесь будет выведено значение «Число больше 10», если пользователь действительно укажет число, которое больше 10. Если же нет, то тогда программа ничего не выдаст в консоль.

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

А теперь давайте рассмотрим следующий фрагмент. 

number = int(input("Введите число: "))

if number > 10:

    print("первая строка")

    print("вторая строка")

    print("третья строка")




print("Выполняется каждый раз, когда вы запускаете программу")

print("Конец")

А теперь приведем два варианта вывода, чтобы вы видели, как работает данное приложение.  

Введите число: 45

первая строка

вторая строка

третья строка

Выполняется каждый раз, когда вы запускаете программу

Конец

Это первый вариант. 

Введите число: 4

Выполняется каждый раз, когда вы запускаете программу

Конец

Это второй вариант.

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

А вот если операторы управления вводить непосредственно в консоль, то Python ведет себя несколько иначе. Необходимо помнить о том, что для разбития выражения на несколько строк применяется оператор \. Но он не нужен, если используются операторы управления. Интерпретатор в этом случае автоматически включает режим ввода нескольких строк, если сделать клик по Enter после условия if. Как в этом примере. 

>>>

>>> n = 100

>>> if n > 10:

...

Здесь мы нажали на Enter на строке с условием if, после чего командная строка стала выглядеть, как … . Хотя до этого она начиналась с >>>.  Таким образом, консоль показывает, что включен режим ввода в несколько строк. Это указывает на то, что инструкция не была закончена.

А чтобы закончить, необходимо добавить еще одну инструкцию в блок if. 

Если ввод команд осуществляется непосредственно в консоль, то отступ все равно надо добавлять. Так Python понимает, что нужно продолжать режим ввода нескольких строк. 

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

Оператор

if-else

С помощью этого оператора интерпретатор исполняет две порции инструкций. Первая – в случае истинности условия, а вторая – если оно оказывается ложным.

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

if  condition:

    # блок if

    statement 1

    statement 2

    and so on

else:

    # блок else

    statement 3

    statement 4

    and so on:

При выполнении оператора проверяется условие. Если оно оказывается истинным, то тогда тогда выполняются те команды, которые указываются в блоке if. Если же соответствия этому критерию нет, то тогда выполняются указанные в блоке else команды.

Теперь давайте приведем несколько примеров для наглядности. 

Пример 1

Приложение для определения параметров круга: площади и длины окружности.  

radius = int(input("Введите радиус: "))




if radius >= 0:

    print("Длина окружности = ",  2  *  3. 

SyntaxError: invalid syntax

$

Здесь приводится пример такой ошибки. Чтобы исправить эту проблему, необходимо осуществить вертикальное выравнивание.

Пример 2

Приложение, которое проверяет пароль, который указал пользователь. 

Конечно, это очень упрощенная схема, поскольку в реальных условиях проверка пароля не осуществляется настолько открыто. Сам код дешифратора, равно как и сам пароль, надежно закодированы. Но мы и не ставим целью сделать супер надежную программу для проверки пароля. У нас задача – продемонстрировать пример работы оператора if-else

password = input("Введите пароль: ")

if password == "sshh":

    print("Добро пожаловать")

else:

    print("Доступ запрещен")

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

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

if-else

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

gre_score = int(input("Введите текущий лимит: "))

per_grad = int(input("Введите кредитный рейтинг: "))




if per_grad > 70:

    # внешний блок if

        if gre_score > 150:

            # внутренний блок if

    print("Поздравляем, вам выдан кредит")

else:

    print("Извините, вы не имеете права на кредит")

Работает программа по очень простому принципу. Сначала осуществляется проверка внешнего условия if. Если оказывается, что значение переменной больше 70, то тогда управление приложением осуществляется в рамках внешнего блока if. Кроме этого, выполняется проверка условия gre_score > 150. Если оказывается, что значение этой переменной больше 150, то тогда в консоль выводится то, что человек имеет право на получение займа. 

Если же ни один из этих критериев не проходит проверку, то тогда приложением выдается отказ.

Точно так же возможно использование оператора if-else внутри условия else

score = int(input("Введите вашу оценку: "))




if score >= 90:

    print("Отлично! Ваша оценка А")

else:

    if score >= 80:

print("Здорово! Ваша оценка - B")

    else:

if score >= 70:

    print("Хорошо! Ваша оценка - C")

else:

    if score >= 60:

print("Ваша оценка - D.  Стоит повторить материал.")

    else:

print("Вы не сдали экзамен")

if-elif-else

Этот оператор используется для проверки нескольких условий. То есть, это полный аналог вложенному оператору if-else. Но пользоваться им более удобно.

Синтаксис оператора простой для понимания. 

if condition_1:

    # блок if

    statement

    statement

    more statement

elif condition_2:

    # первый блок elif

    statement

    statement

    more statement

elif condition_3:

    # второй блок elif

    statement

    statement

    more statement




. ..




else

    statement

    statement

    more statement

Согласитесь, что таким образом задавать сразу несколько условий значительно проще.

Оцените качество статьи. Нам важно ваше мнение:

IF…Else, ELIF и Switch Case

Что такое условные операторы в Python?

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

В этом уроке мы увидим, как применять условные операторы в Python.

  • Что такое оператор If? Как это использовать?
  • Что происходит, когда условие «если» не выполняется
  • Как использовать «иначе условие»
  • Когда «иначе условие» не работает
  • Как использовать условие «elif»
  • Как выполнить условный оператор с минимальным кодом
  • Python Вложенный оператор if
  • Оператор Switch Case в Python

Что такое выражение Python If?

Python, если оператор используется для операций принятия решений. Он содержит тело кода, который запускается только тогда, когда условие, указанное в операторе if, истинно. Если условие ложно, то запускается необязательный оператор else, который содержит некоторый код для условия else.

Если вы хотите обосновать одно условие, в то время как другое условие неверно, вы используете оператор Python if else.

Python, если Синтаксис оператора:

, если выражение
 Заявление
еще
 Заявление
 

Блок-схема Python if…else

Давайте посмотрим на пример Python if else Оператор:

 #
#Пример файла для работы с условным оператором
#
деф основной():
х,у =2,8

если (х < у):
st = «х меньше у»
печать (ст)

если __name__ == "__main__":
главная() 
  • Строка кода 5: Мы определяем две переменные x, y = 2, 8
  • Строка кода 7: оператор if в Python проверяет условие x True , в данном случае
  • Строка кода 8: переменная st имеет значение «x меньше y».
  • Строка кода 9: Строка print st выводит значение переменной st, которое равно «x меньше y»,

Что происходит, когда «если условие» не выполняется

На этом шаге мы увидим, что происходит, когда условие в Python не выполняется.

  • Строка кода 5: Мы определяем две переменные x, y = 8, 4
  • Строка кода 7: оператор if в Python проверяет условие x False , в данном случае
  • Строка кода 8: переменная st равна , а НЕ установлена ​​в значение «x меньше y».
  • Строка кода 9: Строка print st пытается напечатать значение переменной, которая никогда не была объявлена. Следовательно, мы получаем ошибку.

Как использовать «иначе условие»

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

Пример :

 #
#Пример файла для работы с условным оператором
#
деф основной():
х, у =8,4

если (х < у):
st = «х меньше у»
еще:
st = «х больше, чем у»
печать (ст)

если __name__ == "__main__":
main() 
  • Строка кода 5: Мы определяем две переменные x, y = 8, 4
  • Строка кода 7: оператор if в Python проверяет условие x False , в данном случае
  • Строка кода 9: поток управления программой переходит к другому условию
  • Строка кода 10: для переменной st установлено значение «x на больше , чем y».
  • Строка кода 11: Строка print st выводит значение переменной st, которое равно «x больше, чем y»,

Когда «иначе условие» не работает

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

Пример поможет вам лучше понять эту концепцию.

Здесь обе переменные одинаковы (8,8), и программа выводит «x больше, чем y», , что НЕПРАВИЛЬНО . Это связано с тем, что он проверяет первое условие (если условие в Python), и если оно терпит неудачу, то оно распечатывает второе условие (иначе условие) по умолчанию. На следующем шаге мы увидим, как мы можем исправить эту ошибку.

 #
#Пример файла для работы с условным оператором
#
деф основной():
х, у =8,8

если (х < у):
st = «х меньше у»
еще:
st = «х больше, чем у»
печать (ст)

если __name__ == "__main__":
главная() 

Как использовать условие «elif»

Чтобы исправить предыдущую ошибку, допущенную «условием else», мы можем использовать оператор «elif» . Используя условие « elif », вы говорите программе распечатать третье условие или возможность, когда другое условие становится неправильным или неверным.

Пример

 #
#Пример файла для работы с условным оператором
#
деф основной():
х, у =8,8

если (х < у):
st = «х меньше у»

Элиф (х == у):
st = "x такой же, как y"

еще:
st="х больше, чем у"
печать (ст)

если __name__ == "__main__":
главная() 
  • Строка кода 5: Мы определяем две переменные x, y = 8, 8
  • Строка кода 7: оператор if проверяет условие x False , в данном случае
  • Строка кода 10: поток управления программой переходит в состояние elseif. Он проверяет, является ли x==y истинным
  • Строка кода 11: для переменной st установлено значение «x равно , то же, что и y».
  • Строка кода 15: поток управления программой выходит из оператора if (он не переходит к оператору else). И вывести переменную st. Вывод «x такой же, как у», что правильно

Как выполнить условный оператор с минимальным кодом

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

Синтаксис

 A Если B иначе C
 

Пример :

деф основной():
х, у = 10,8
st = "x меньше y", если (x < y), иначе "x больше или равно y"
печать (ст)

если __name__ == "__main__":
главная() 
  • Строка кода 2: мы определяем две переменные x, y = 10, 8
  • Строка кода 3: переменная st имеет значение «x меньше y», если xy st устанавливается на «x больше или равно y».
  • Строка кода 4: печатает значение st и дает правильный вывод
  • Вместо того, чтобы писать длинный код для условных операторов, Python дает вам свободу писать код коротким и кратким.

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

Следующий пример демонстрирует вложенный оператор if Python

 всего = 100
#страна = "США"
страна = "Австралия"
если страна == "США":
    если всего <= 50:
        print("Стоимость доставки 50$")
Всего Элиф <= 100:
        print("Стоимость доставки $25")
Всего Элиф <= 150:
print("Стоимость доставки $5")
еще:
        распечатать("БЕСПЛАТНО")
если страна == "AU":
если всего <= 50:
print("Стоимость доставки 100$")
еще:
печать("БЕСПЛАТНО") 

Раскомментируйте строку 2 в приведенном выше коде и закомментируйте строку 3 и снова запустите код

Оператор Switch Case в Python

Что такое оператор Switch?

Оператор switch — это оператор многостороннего перехода, который сравнивает значение переменной со значениями, указанными в операторах case.

Язык Python не имеет оператора switch.

Python использует отображение словаря для реализации Switch Case в Python

Пример

 функция(аргумент){
    переключатель(аргумент) {
        случай 0:
            вернуть «Это случай ноль»;
        Случай 1:
            вернуть «Это Дело Один»;
        случай 2:
            return "Это второй случай";
        дефолт:
            вернуть «ничего»;
    };
};
 

Для приведенного выше случая Switch в Python

 def SwitchExample (аргумент):
    переключатель = {
        0: «Это нулевой случай»,
        1: «Это Дело Один»,
        2: «Это дело второе»,
    }
    вернуть switcher.get(аргумент, "ничего")
если __name__ == "__main__":
    аргумент = 1
    печать (SwitchExample(аргумент))
 

Пример Python 2

Приведенные выше коды являются примерами Python 3. Если вы хотите работать в Python 2, рассмотрите следующий код.

 # Если Заявление
#Пример файла для работы с условным оператором
#
деф основной():
х,у =2,8

если (х < у):
st = «х меньше у»
печать ул

если __name__ == "__main__":
главный()
# Как использовать "иначе условие"
#Пример файла для работы с условным оператором
#
деф основной():
х, у =8,4

если (х < у):
st = «х меньше у»
еще:
st = «х больше, чем у»
печать ул

если __name__ == "__main__":
главный()
# Когда "иначе условие" не работает
#Пример файла для работы с условным оператором
#
деф основной():
х, у =8,8

если (х < у):
st = «х меньше у»
еще:
st = «х больше, чем у»
печать ул

если __name__ == "__main__":
главный()
# Как использовать условие "elif"
#Пример файла для работы с условным оператором
#
деф основной():
х, у =8,8

если (х < у):
st = «х меньше у»

Элиф (х == у):
st = "x такой же, как y"

еще:
st="х больше, чем у"
печать ул

если __name__ == "__main__":
главный()
# Как выполнить условный оператор с минимальным кодом
деф основной():
х, у = 10,8
st = "x меньше y", если (x < y), иначе "x больше или равно y"
печать ул

если __name__ == "__main__":
главный()
# Вложенный оператор ЕСЛИ
всего = 100
#страна = "США"
страна = "Австралия"
если страна == "США":
    если всего <= 50:
        print "Стоимость доставки $50"
Всего Элиф <= 100:
        print "Стоимость доставки $25"
Всего Элиф <= 150:
напечатать "Стоимость доставки $5"
еще:
        распечатать "БЕСПЛАТНО"
если страна == "AU":
если всего <= 50:
print "Стоимость доставки $100"
еще:
распечатать "БЕСПЛАТНО"
# Оператор Switch
def SwitchExample (аргумент):
    переключатель = {
        0: «Это нулевой случай»,
        1: «Это Дело Один»,
        2: «Это дело второе»,
    }
    вернуть switcher. get(аргумент, "ничего")
если __name__ == "__main__":
    аргумент = 1
    распечатать SwitchExample (аргумент)
 

Резюме:

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

  • «если условие» — Используется, когда нужно распечатать результат, когда одно из условий истинно или ложно.
  • «другое условие» — используется, когда вы хотите распечатать заявление, когда ваше одно условие не соответствует требованию
  • «elif condition» — используется, когда у вас есть третья возможность в качестве результата. Вы можете использовать несколько условий elif для проверки 4 th ,5 th ,6 th возможности в вашем коде
  • Мы можем использовать минимальный код для выполнения условных операторов, объявив все условия в одном операторе для запуска кода
  • Оператор Python If может быть вложенным
Этот код доступен для редактирования. Нажмите «Выполнить», чтобы выполнить

Основное руководство по Python if Заявление на практических примерах

Резюме : в этом руководстве вы узнаете, как использовать Python , если оператор выполняет блок кода на основе условия.

Простой оператор if Python

Вы используете оператор if для выполнения блока кода на основе заданного условия.

Синтаксис оператора if следующий:

 

if условие: if-block

Язык кода: Python (python)

Оператор if сначала проверяет условие.

Если условие оценивается как True , он выполняет операторы в блоке if. В противном случае он игнорирует операторы.

Обратите внимание, что двоеточие ( : ), которое следует за условием , очень важно. Если вы его забудете, вы получите синтаксическую ошибку.

Следующая блок-схема иллюстрирует оператор if:

Например:

 

age = input('Введите свой возраст:') если int(возраст) >= 18: print("Вы имеете право голосовать")

Язык кода: Python (python)

В этом примере вам предлагается ввести свой возраст. Если вы введете число, которое больше или равно 18 , на экране появится сообщение «Вы имеете право голосовать» . В противном случае он ничего не делает.

Условие int(age) >= 18 преобразует входную строку в целое число и сравнивает ее с 18.

 

Введите свой возраст:18 Вы имеете право голосовать.

Язык кода: Python (python)

См. следующий пример:

 

age = input('Введите свой возраст:') если int(возраст) >= 18: print("Вы имеете право голосовать.") print("Пойдем и проголосуем")

Язык кода: Python (python)

В этом примере, если вы введете число, которое больше или равно 18 , вы увидите два сообщения.

В этом примере очень важен отступ. Любой оператор, следующий за оператором if , должен содержать четыре пробела.

Если вы неправильно используете отступы, программа будет работать по-другому. Например:

 

age = input('Введите свой возраст:') если int(возраст) >= 18: print("Вы имеете право голосовать. ") print("Давайте проголосуем.")

Язык кода: Python (python)

В этом примере окончательный оператор всегда выполняется независимо от условия в операторе if . Причина в том, что он не относится к блоку if :

 

Введите свой возраст:11 Пойдем и проголосуем.

Язык кода: Python (python)

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

Как правило, вы хотите выполнить действие, когда условие равно True , и другое действие, когда условие равно False .

Для этого используется оператор if...else .

Ниже показан синтаксис оператора if...else :

 

if условие: если-блок; еще: еще-блок;

Язык кода: Python (python)

В этом синтаксисе if. ..else выполнит блок if , если условие оценивается как True . В противном случае он выполнит else-блок .

Следующая блок-схема иллюстрирует оператор if..else :

В следующем примере показано, как использовать оператор if...else :

 

age = input('Введите свой возраст:') если int(возраст) >= 18: print("Вы имеете право голосовать.") еще: print("Вы не имеете права голоса")

Кодовый язык: Python (python)

В этом примере, если вы введете свой возраст числом меньше 18, вы увидите сообщение «Вы не имеете права голосовать». вот так:

 

Введите свой возраст:11 Вы не имеете права голоса.

Язык кода: Python (python)

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

Если вы хотите проверить несколько условий и выполнить соответствующее действие, вы можете использовать оператор if…elif…else 9Заявление 0264. elif означает , иначе .

Вот синтаксис оператора if if...elif...else :

 

if-условие: если-блок Элиф Элиф-условие1: Элиф-блок1 Элиф Элиф-условие2: Элиф-блок2 ... еще: else-block

Язык кода: Python (python)

Оператор if...elif...else проверяет каждое условие ( if-condition , elif-condition1 , elif-condition2 , …) в том порядке, в котором они появляются в операторе, пока не будет найден тот, который оценивается как True .

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

Если ни одно условие не оценивается как True , оператор if...elif...else выполняет оператор в ветви else .

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

Следующая блок-схема иллюстрирует оператор if...elif...else :

В следующем примере используется оператор if...elif..else для определения цены билета на основе возраста:

 

age = input('Введите свой возраст:') # преобразовать строку в int your_age = int(возраст) # определить цену билета если your_age < 5: билет_цена = 5 Элиф your_age < 16: билет_цена = 10 еще: билет_цена = 18 # показать цену билета print(f"Вы заплатите ${ticket_price} за билет")

Язык кода: Python (python)

В этом примере:

  • Если введенный возраст меньше 5, цена билета будет 5 долларов.
  • Если введенный возраст больше или равен 5 и меньше 16 лет, цена билета составляет 10 долларов США.
  • В противном случае стоимость билета составляет 18 долларов США.

Сводка

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

Считаете ли вы это руководство полезным?

Как использовать операторы IF в Python (if, else, elif и т. д.) — Dataquest

3 марта 2022 г.

Наша жизнь полна условий, даже если мы не замечаем их большую часть времени. Давайте рассмотрим несколько примеров:

  • Если завтра не будет дождя, я пойду с друзьями в парк. В противном случае я останусь дома с чашкой горячего чая и буду смотреть телевизор.
  • Если завтра не будет жарко, то поеду на море, а если будет, то погуляю в лесу. Однако, если пойдет дождь, я останусь дома.

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

В этом руководстве вы узнаете, как использовать условные операторы. Это руководство предназначено для новичков в Python, но вам необходимо знать некоторые основы кодирования на Python. Если нет, посмотрите этот бесплатный курс по основам Python.

Basic

if Заявление

В Python , если операторы являются отправной точкой для реализации условия. Давайте рассмотрим самый простой пример:

.
, если <условие>:
    <выражение> 

Когда <условие> оценивается Python, оно становится либо True , либо False (логические значения). Таким образом, если условие Истинно (т. е. выполнено), будет выполнено <выражение> , но если <условие> равно False (т. е. не выполнено), <выражение> выполняться не будет.

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

Давайте рассмотрим конкретный пример.

 # Базовый оператор if
х = 3
у = 10
если х < у:
    print("x меньше y") 
 x меньше y. 

Прежде всего, мы определяем две переменные, x и и . Тогда мы говорим, что если переменная x меньше, чем переменная y , выведите x меньше, чем y ). Действительно, если мы выполним этот код, мы выведем этот вывод, потому что 3 меньше 10.

Вывод: x меньше y.

Давайте рассмотрим более сложный пример.

 # Чуть более сложный пример
х = 3
у = 10
г = Нет
если х < у:
    г = 13
print(f"Переменная z теперь {z}.") 
 Переменная z теперь равна 13. 

В этом случае, если условие выполнено, то переменной z будет присвоено значение 13. Тогда Variable z теперь равно 13. будет распечатано (обратите внимание, что оператор print может использоваться как вне, так и внутри оператора if ).

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

Давайте посмотрим, что произойдет, если мы выполним следующий код:

 # Что здесь происходит?
х = 3
у = 10
если х > у:
    print("x больше y") 

Здесь мы изменили направление символа сравнения (было меньше , а теперь больше ). Можете ли вы угадать выход?

Выхода не будет! Это произошло потому, что условие не было выполнено. 3 не больше 10, поэтому условие оценивается как False , и выражение не выполняется. Как решить эту проблему? С еще заявление.

иначе Выписка

Что делать, если мы хотим выполнить какой-то код, если условие не выполняется? Мы добавляем оператор else под оператором if . Давайте посмотрим на пример.

 # еще оператор
х = 3
у = 10
если х > у:
    print("x больше y.")
еще:
    print("x меньше y") 
 x меньше y. 

Вывод: x меньше y.

Здесь Python сначала выполняет условие if и проверяет, соответствует ли оно Верно . Поскольку 3 не больше 10, условие не выполняется, поэтому мы не печатаем «x больше, чем y». Тогда мы говорим, что во всех остальных случаях мы должны выполнить код под оператором else: x меньше, чем y.

Вернемся к нашему первому примеру условного оператора:

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

Здесь оператор else означает «Иначе».

Что произойдет, если условие будет выполнено?

 # Что делать, если условие выполнено?
х = 3
у = 10
если х < у:
    print("x меньше y.")
еще:
    print("x больше y") 
 x меньше y. 

В этом случае Python просто выводит первое предложение, как и раньше.

Вывод: x меньше y.

Что, если x равно y ?

 # х равно у
х = 3
у = 3
если х < у:
    print("x меньше y.")
еще:
    print("x больше y." 
 x больше, чем y. 

Вывод явно неверный, потому что 3 равно 3! У нас есть еще одно условие за пределами символов сравнения больше или меньше; таким образом, мы должны использовать оператор elif .

Элиф Заявление

Давайте перепишем приведенный выше пример и добавим оператор elif .

 # x равно y с оператором elif
х = 3
у = 3
если х < у:
    print("x меньше y.")
Элиф х == у:
    print("х равно у."
еще:
    print("x больше y." 
 х равно у. 

Вывод: x равно y .

Сначала Python проверяет, выполняется ли условие x < y . Это не так, поэтому мы переходим ко второму условию, которое в Python мы пишем как elif , что является сокращением от else if . Если первое условие не выполнено, проверьте второе условие, и если оно выполнено, выполните выражение. В противном случае сделайте что-нибудь еще. Вывод: «x равно y».

Теперь вернемся к одному из наших первых примеров условных операторов:

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

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

Теперь давайте переведем это предложение на Python.

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

 # состояние элиф
завтра = "тепло"
если завтра == "тепло":
    print("Я пойду к морю.")
Элиф завтра == "очень жарко":
    print("Я пойду в лес.")
еще:
    print("Я останусь дома") 
 Я пойду к морю. 

Python сначала проверяет, равна ли переменная завтра «теплой», и если да, то выводит Я пойду к морю. и останавливает выполнение. Что произойдет, если первое условие не будет выполнено?

 # Завтра очень жарко
завтра = "очень жарко"
если завтра == "тепло":
    print("Я пойду к морю.")
Элиф завтра == "очень жарко":
    print("Я пойду в лес.")
еще:
    print("Я останусь дома") 
 Я пойду в лес. 

В этом случае Python оценивает первое условие как False и переходит ко второму условию. Это условие True , поэтому выводит Я пойду в лес. и останавливает выполнение.

Если ни одно из двух условий не выполнено, то будет напечатано Я останусь дома.

Конечно, вы можете использовать любое количество операторов elif , какое захотите. Давайте добавим дополнительные условия, а также изменим вывод else на Погода не распознана. (например, если завтра «f», мы не знаем, что это значит).

 # Несколько условий elif
завтра = "снежно"
если завтра == "тепло":
    print("Я пойду к морю.")
Элиф завтра == "очень жарко":
    print("Я пойду в лес.")
Элиф завтра == "снежно":
    print("Я слеплю снеговика.")
Элиф завтра == "дождливо":
    print("Я останусь дома.")
еще:
    print("Погода не распознана") 
 Я слеплю снеговика. 

Угадайте, что напечатано?

Множественные условия

Теперь добавим немного сложности. Что, если мы хотим соответствуют нескольким условиям в одном выражении if ?

Допустим, мы хотим предсказать биом (например, пустыню или тропический лес) на основе двух климатических измерений: температуры и влажности. Например, если жарко и сухо, то это жаркая пустыня, а если холодно и сухо, то это арктическая пустыня. Вы можете видеть, что мы не можем классифицировать эти два биома только на основе их влажности (оба они сухие), поэтому мы также должны добавить меру температуры.

В Python мы можем использовать логических операторов (т. е. и, или) для использования нескольких условий в одном и том же операторе if .

Посмотрите на код ниже.

 # Предсказание биома с логическим оператором и
влажность = «низкая»
температура = "высокая"
если влажность == "низкая" и температура == "высокая":
    print("Горячая пустыня.")
elif влажность == "низкая" и температура == "низкая":
    print("Это арктическая пустыня.")
elif влажность == "высокая" и температура == "высокая":
    print("Это тропический лес.")
еще:
    print("Я не знаю!") 
 Это жаркая пустыня. 

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

Формально Python проверяет, является ли первое условие влажности True (действительно так и есть), затем он проверяет, является ли второе условие температуры True (и так оно и есть) и только в этом случае комбинированное условие равно Верно . Если хотя бы одно из этих условий не выполняется, то комбинированное условие оценивается как False .

Что делать, если мы хотим, чтобы одно из двух (или более) условий было выполнено? В этом случае мы должны использовать логический оператор или .

Давайте рассмотрим пример. Допустим, у вас есть список чисел от 1 до 14 (включительно), и вы хотите извлечь все числа, которые меньше 3 или больше или равны 10. Вы можете добиться результата, используя или оператор!

 # или логический оператор
числа = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
nums_less_3_greater_equal_10 = []
для числа в цифрах:
    если число < 3 или число >= 10:
        nums_less_3_greater_equal_10. append(число)
печать (nums_less_3_greater_equal_10) 
 [1, 2, 10, 11, 12, 13, 14] 

Вывод: [1, 2, 10, 11, 12, 13, 14]

Здесь Python проверяет, меньше ли текущее число в цикле for , чем 3, и если оно равно True , то комбинированный оператор if оценивается как True . То же самое происходит, если текущее число больше или равно 10. Если комбинированный оператор if равен True , то выражение выполняется, и текущее число добавляется к списку nums_less_3_greater_equal_10 .

Ради эксперимента заменим или на и .

 # Изменить или на и
числа = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
nums_less_3_greater_equal_10 = []
для числа в цифрах:
    если число < 3 и число >= 10:
        nums_less_3_greater_equal_10.append(число)
печать (nums_less_3_greater_equal_10) 
 [] 

Вывод: []

В этом случае текущее число должно быть одновременно меньше 3 и больше или равно 10, что явно невозможно, поэтому комбинированный оператор if оценивается как False и выражение не выполняется.

Чтобы еще больше прояснить ситуацию, посмотрите на этот оператор print .

 печать (ложь или правда) 
 Правда 

Вывод: Правда

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

Теперь, что произойдет, если мы изменим или до и ?

 печать (ложь и правда) 
 Ложь 

Вывод: Ложь

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

Вы даже можете комбинировать несколько логических операторов в одном выражении. Давайте воспользуемся тем же списком чисел, но теперь нам нужно найти все числа, равные 9.0029 либо меньше 3, либо больше, либо равно 10 и одновременно являются четными числами.

Мы будем использовать оператор % , чтобы выяснить, является ли число четным. Выражение число % другое_число даст остаток от деления числа на другое_число . Если мы хотим выяснить, является ли число четным, то остаток от деления этого числа на 2 должен быть равен 0,

.
 # Более сложные логические операторы
числа = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
nums_less_3_greater_equal_10_multiple_2 = []
для числа в цифрах:
    если (число < 3 или число >= 10) и число % 2 == 0:
        nums_less_3_greater_equal_10_multiple_2.append(число)
печать (nums_less_3_greater_equal_10_multiple_2) 
 [2, 10, 12, 14] 

Вывод: [2, 10, 12, 14]

Почему первое число вывода 2? Во втором цикле for 2 оценивается в первом условии в скобках. Оно меньше 3, поэтому объединенное условие в скобках равно 9.0263 Верно . 2 также делится на 2 с остатком 0, поэтому второе условие также True . Оба условия равны True , поэтому этот номер добавляется к списку.

Почему мы используем скобки? Это из-за приоритета оператора в Python. А если мы их удалим?

 # Более сложные логические операторы без круглых скобок
числа = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
nums_less_3_greater_equal_10_multiple_2 = []
для числа в цифрах:
    если число < 3 или число >= 10 и число % 2 == 0:
        nums_less_3_greater_equal_10_multiple_2.append(число)
печать (nums_less_3_greater_equal_10_multiple_2) 
 [1, 2, 10, 12, 14] 

Вывод: [1, 2, 10, 12, 14]

У нас есть 1 в списке! В Python все операторы оцениваются в точном порядке. Например, операторы и имеют приоритет над операторами или . Но если мы поместим оператор или в круглые скобки, он будет иметь приоритет над операторами и .

Сначала мы оцениваем условия с обеих сторон оператора и (он имеет приоритет). 1 не больше 10 и не дает 0 при делении на 2, поэтому комбинированное условие равно Ложь . У нас остается условие , если num < 3 или False . 1 меньше 3, поэтому первое условие True . Условие становится True или False . У нас есть оператор или , поэтому комбинированное условие оценивается как True , и к списку добавляется 1. Практикуйтесь, проверяя, что происходит с другими числами.

Наконец, взгляните на эту таблицу истинности , чтобы понять, как работают логические операторы. Здесь мы опишем только и и или логические операторы, но в Python у нас также есть оператор , а не . Мы приглашаем вас узнать больше об этом и попрактиковаться в использовании внутри операторов if .

Вход А Вход Б И ИЛИ
Ложь Ложь Ложь Ложь
Правда Ложь Ложь Правда
Ложь Правда Ложь Правда
Правда Правда Правда Правда

У нас есть два входа, A и B, которые могут быть либо True , либо False . Например, во второй строке A равно True , а B равно False ; таким образом, A И B оцениваются как False , но A OR B оцениваются как Верно . Аналогично читается остальная часть таблицы. Потратьте минуту, чтобы понять, что он вам говорит.

Вложенные

if Операторы

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

 # Вложенные операторы if
отметка = 85
если отметка >= 60 и отметка <= 100:
    если отметка >= 90:
        print("Ты лучший!")
    Элиф Марк >= 80:
        print("Молодец!")
    Элиф Марк >= 70:
        print("Вы можете сделать лучше.")
    еще:
        распечатать("Пройдено")
Элиф Марк > 100:
    print("Эта отметка слишком высока.")
Элиф Марк <0:
    print("Эта отметка слишком низкая.")
еще:
    печать("Ошибка") 
 Молодец! 

Вывод: Молодец!

Здесь, если метка находится между 60 и 100, выполняется выражение под оператором if . Но тогда у нас есть другие условия, которые также оцениваются. Итак, наша отметка — 85, что находится между 60 и 100. Однако 85 меньше 90, поэтому первое вложенное условие if равно False , а первое вложенное выражение не выполняется. Но 85 выше 80, поэтому выполняется второе выражение и «Молодец!» распечатывается.

Конечно, у нас также есть оператора elif вне выражения ниже первого оператора if . Например, какой , если оценка выше 100? Если первое условие (число от 60 до 100) равно False , то мы переходим непосредственно к оператору elif mark > 100 и распечатываем Эта метка слишком низкая. .

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

Сопоставление с образцом в Python 3.10

Сопоставление с образцом было добавлено в Python 3.10, выпущенном в октябре 2021 года. Короче говоря, можно увидеть другой синтаксис для операторов if. .elif . Давайте рассмотрим пример, переписав предыдущий пример с использованием сопоставления с образцом.

 # Предыдущий пример
завтра = "снежно"
если завтра == "тепло":
    print("Я пойду к морю.")
Элиф завтра == "очень жарко":
    print("Я пойду в лес.")
Элиф завтра == "снежно":
    print("Я слеплю снеговика.")
Элиф завтра == "дождливо":
    print("Я останусь дома.")
еще:
    print("Погода не распознана") 
 Я слеплю снеговика. 
 # Сопоставление с образцом с синтаксисом match..case
завтра = "снежно"
матч завтра:
    чехол "теплый":
        print("Я пойду к морю.")
    случай "очень горячий":
        print("Я пойду в лес.")
    чехол "снежный":
        print("Я слеплю снеговика.")
    случай "дождливый":
         print("Я останусь дома.")
    кейс _:
        print("Погода не распознана") 
 Я слеплю снеговика. 

Мы можем видеть сходство между использованием if..elif 9Операторы 0264 и синтаксис соответствуют синтаксису case . Во-первых, мы определяем, какую переменную мы хотим, чтобы соответствовало , и когда мы определяем случаи (или значения, которые может принимать эта переменная). Остальной код аналогичен. Если совпадение соответствует регистру (эквивалентно двойному знаку равенства), выполняется выражение print .

Обратите внимание на последний оператор case , это _ case, который эквивалентен else : если нет совпадений, то мы печать Погода не распознана .

пройти Выписка

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

 # Без пропуска
число = 3
если число == 3:
print("Я напишу этот код позже. ") 9IndentationError: ожидается блок с отступом 

Python ожидает некоторый код в операторе `if`, но вы еще не реализовали его! Вы можете написать там `pass` и решить эту проблему.

 # С пропуском
число = 3
если число == 3:
    проходить
print("Я напишу этот код позже.") 
 Я напишу этот код позже. 

Вывод: «Я напишу этот код позже».

Если вместо этого вы поместите `pass` в оператор `if`, Python не выдаст никакой ошибки и перейдет к любому коду, который у вас есть ниже оператора `if`. Это работает, даже если у вас есть другие условия после первого оператора `if`.

 # С пропуском
число = 4
если число == 3:
    проходить
Элиф число == 4:
    print("Переменная num равна 4.")
еще:
    print("Переменная num не равна ни 3, ни 4.") 
 Число переменной равно 4. 

Вывод: Число переменной равно 4.

Выводы

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

  • Создание базовых операторов if
  • Усложнение с помощью операторов else и elif
  • Объединение нескольких условий в один оператор if с использованием логических операторов ( или , и )
  • Использование вложенных операторов if
  • Использование операторов pass в качестве заполнителей

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

Не стесняйтесь связаться со мной в LinkedIn и GitHub. Удачного кодирования!

Об авторе

Dataquest

Dataquest учит с помощью сложных упражнений и проектов вместо видеолекций. Это самый эффективный способ приобрести навыки, необходимые для построения карьеры в области данных.

Оператор Python If Else с примерами

Операторы Python IF-ELSE

Как и другие популярных языков программирования , в 9 есть несколько операторов потока управления0029 Питон тоже. Поток управления относится к порядку, в котором должна выполняться программа. Как правило, поток управления программы идет сверху вниз.

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

Посмотрите это видео о потоке управления в Python.

Python If Else Операторы Python If Else Операторы

Заинтересованы в изучении Python? Посетите курс обучения Python в Сиднее!

В этом модуле мы узнаем об операторах потока управления if-else, а ниже приводится список всех тем, которые мы рассмотрим.

  • Условные операторы Python
  • Если еще в Python
  • Если Элиф Эльзе Python
  • Вложенный Если в Python
  • Сокращение If и If else в Python
  • Lambda, если еще в Python

Итак, без дальнейших проволочек, приступим.

Условные операторы Python

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

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

Следующая блок-схема объясняет работу оператора if в Python:

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

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

Как показано на блок-схеме выше, программа Python сначала оценивает тестовое выражение. По сути, это условие в операторе if в Python. Если условие выполнено или если условие истинно, то выполняются только операторы в теле оператора if.

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

Станьте мастером Python, пройдя этот онлайн-курс Python в Торонто!

Давайте посмотрим на пример реализации оператора if.

 а = 5
если (а <10):
print («5 меньше 10»)
print («Утверждение после оператора if»)


Выход:
5 меньше 10
Заявление после оператора if 

Получите 100% повышение!

Осваивайте самые востребованные навыки прямо сейчас!

В противном случае в Python

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

Следующая блок-схема объясняет работу if-else в Python:

Синтаксис if-else в Python:

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

Тело если


еще:

Тело else 

Как показано на блок-схеме выше, программа Python сначала оценивает тестовое выражение. Это в основном условие в операторе if. Если условие выполнено или если условие истинно, то выполняются только операторы в теле оператора if. Если условие неверно, то выполняется оператор в теле оператора else. Тело операторов if и else начинается с отступа.

Давайте посмотрим на пример реализации оператора if…else.

 я = 20;

если (я < 15):
print («i меньше 15»)

еще:
print («i больше 15»)
print («оператор после оператора if»)


Выход:
я больше 15
оператор после оператора if 

Получите сертификат этого лучшего курса Python в Сингапуре сегодня!

Карьерный переход

If Elif Else в Python

Здесь elif означает else if в Python. Этот условный оператор в Python позволяет нам проверять несколько операторов, а не только один или два, как мы видели в операторах if и if-else. Если сначала, если условие истинно, то, как и в предыдущих операторах if и if-else, программа выполнит тело оператора if.

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

Лестница If elif else:

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

На следующей блок-схеме показана работа операторов if elif else:


Синтаксис оператора if elif else в Python

 выражение if test:

Тело если

Элиф тестовое выражение:

Тело Элиф

еще:

Тело else 

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

Давайте посмотрим на следующий пример оператора if elif else, чтобы лучше понять его.

 а = 50

если (а == 20):
print («значение переменной a равно 20»)

Элиф (а == 30):
print («значение переменной a равно 30»)

Элиф (а == 40):
print («значение переменной a равно 40»)

еще:
print («значение переменной a больше 40»)


Выход:
значение переменной a больше 40 

В приведенном выше примере программа сначала проверяет самый первый оператор if. Поскольку оно оказывается ложным, тело оператора if не выполняется, и программа переходит к следующему оператору elif. Оно также оказывается ложным и снова тело блока elif пропускается, и программа переходит к следующему оператору elif. Здесь происходит то же самое. Поскольку все условия были ложными, программа, наконец, достигает последнего оператора else и выполняет тело else. Итак, мы получаем результат как «значение переменной a больше 40».

Изучите сквозные концепции Python на курсе Python в Хайдарабаде, чтобы вывести свою карьеру на совершенно новый уровень!

Вложенные операторы if-else i n Python

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

Курсы, которые могут вам понравиться

Синтаксис вложенного if в Python:

 if тестовое выражение 1:
# Выполняется, когда условие 1 истинно
тело оператора if


если тестовое выражение 2:
# Выполняется, когда истинно условие 2
Тело вложенного if


еще:
тело вложенного if


еще:
тело оператора if else 

Давайте посмотрим на следующий пример if в Python:

 а = 20
если (а == 20):


# Первый оператор if
если (а < 25):
print («a меньше 25»)


еще:
print («а больше 25»)


еще:
print («a не равно 20»)


Выход:
a меньше 25 

Здесь, в этом примере, давайте обсудим приведенный выше пример вложенного if в Python. Поскольку a равно 20, программа входит в первый оператор if. Затем он проверяет вложенные операторы if, выполняет их как истинные и выводит на экран, что a меньше 25.

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

Вы заинтересованы в изучении Python у экспертов? Запишитесь на наш курс Python в Бангалоре прямо сейчас!

Сокращение If и If Else в Python

Сокращение if и if else — это не что иное, как способ записать операторы if в одну строку, когда у нас есть только один оператор для выполнения в блоке if и блоке else.

Пример сокращения, если в Python:

 a = 4
б = 2
если a>b: напечатать («a больше, чем b»)


Выход:
a больше, чем b 

Пример краткого описания условия else:

 a = 4
б = 2
print("a больше") if a>b else print("b больше")


Выход:
a больше 

Лямбда if else в Python

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

 x = лямбда n: n**2, если n%2 == 0, иначе n**3
печать (х (4))
печать (х (3))

Результат будет
16
27 

На этом мы подошли к концу этого модуля в Python Tutorial. Здесь мы обсудили условные операторы Python, условие if в Python, if elif Else Python, вложенный оператор if в Python, сокращенный оператор if в Python и сокращенный оператор if-else Python. Теперь, если вам интересно узнать, почему python является наиболее предпочтительным языком для науки о данных, вы можете просмотреть этот блог в учебнике Python Data Science.
А пока ознакомьтесь с нашим предложением обучающего курса Python и нашим бесплатным руководством по вопросам на собеседовании по Python.

Расписание курсов

3 способа написания условных операторов Python

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

Эта статья покажет вам три различных способа написать больше Pythonic, короткие и лаконичные операторы if/elif/else без длинных строк кода.

Вы узнаете, как использовать логические типы данных для написания более лаконичного кода и создания эффективных операторов переключения для различных вариантов.

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

3 способа написания условных операторов Pythonic

  1. Используйте операторы if/else в одной строке.
  2. Используйте табличные функции для нескольких операторов if/elif.
  3. Воспользуйтесь преимуществами логических значений.

 

 

1. Используйте операторы If/Else в одной строке

Обычно операторы if/else в коде Python записываются следующим образом:

 lat = 32,56
длинный = -84,12
# Широта
если широта < 0:
    распечатать("Н")
еще:
    распечатать("С")
# Долгота
если длина < 0:
    распечатать("Е")
еще:
    распечатать("В")
 
 Выход
С
E 

В приведенном выше примере код указывает широту (север-юг) и долготу (восток-запад) в зависимости от градусов координат.

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

Рассмотрим следующий краткий код, который выполняет то же самое с одной строкой для каждого условного оператора if/else.

 print("N", если широта <0, иначе "S")
print("E", если long < 0, иначе "W") 
 Вывод
С
E 

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

Вот синтаксис:

true_expression if conditional else false_expression

Таким образом, здесь мы получаем N , если Lat меньше 0 градусов и S в противном случае.

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

Но сначала давайте рассмотрим пример с несколькими операторами if/elif.

Еще от Абдишакура Хасана7 лучших типов тематических карт для геопространственных данных

 

2. Используйте табличные функции для нескольких операторов if/elif

Поскольку в Python нет операторов switch, вам часто приходится писать код, подобный приведенному ниже, для выбора между различными (и множественными) вариантами if/elif.

Первая часть кода создает четыре упрощенные функции, которые выводят функцию. Этот фрагмент также устанавливает переменную gdf в пустую строку и n равным трем.

 по определению plot_choropleth(gdf):
    print("Построение хороплет")
определение plot_heatmap (gdf):
    print("Построение тепловой карты")
определение plot_animation (gdf):
    print("Отрисовка анимации")
определение plot_bubblemap (gdf):
    print("Построение пузырьковой карты")
гдф = ""
п = 3 

Далее давайте смоделируем выбор между этими различными вариантами, используя оператор if/elif.

, если n == 1:
plot_choropleth (gdf)
Элиф п == 2:
plot_heatmap (гдф)
Элиф п == 3:
plot_animation(gdf)
Элиф п == 4:
plot_bubblemap(gdf) 
 Вывод
Построение анимации 

В этом примере мы имеем n = 3 , и поэтому мы называем функцию plot_animation и распечатайте «анимацию на графике».

Такой код слишком многословен. Хотя это будет работать, это не аккуратно. В Python мы говорим, что все является объектом, включая функции. Поэтому мы можем поместить функции в список, как и любой другой объект, и получить к ним доступ с помощью индекса.

 func_list = [plot_choropleth, plot_heatmap, plot_animation, plot_bubblemap][n-1] 

Здесь мы помещаем функции в список, просто выбирая индекс переменной n. Обратите внимание, что мы вычитаем единицу, поскольку Python использует индекс, начинающийся с нуля. Теперь мы вызываем func_list на gdf , чтобы имитировать операторы switch без явных операторов if/elif и длинных строк кода.

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

Учебное пособие по Python: условные выражения и логические значения — операторы If, Else и Elif оператора if/else, мы сократили код до одной строки кода, но по-прежнему используем оператор if/else, подобный этому 

 "N", если широта < 0, else "S" 

Нет необходимости иметь оператор if/ еще заявления. Вместо этого мы можем использовать логические значения. В Питоне True равно одному , а False равно нулю . Таким образом, мы можем написать такой фрагмент кода, который на первый взгляд может показаться странным.

 lat1, long1 = 57.792017, 12.054745
широта2, долгота2 = -14,896547, -3,132567
 
print('NS'[lat1 < 0])
print('NS'[lat2 < 0])
 
print('EW'[long1 < 0])
print('EW'[long2 < 0])
Н
С
 

Но давайте рассмотрим пример подробно. Первый фрагмент кода проверяет, меньше ли широта нуля, и устанавливает ее на N для севера или S для юга. Условные возвраты ложны в первом примере широты и истинны во втором примере широты.

Теперь следующая часть — выбор строки индекса. Итак, первая широта — 57.792017 , и она не меньше нуля, поэтому она ложна, и поэтому мы выбираем нулевой индекс строки, который равен N . Вторая широта -14.896547 ; следовательно, условие истинно, и поэтому оно возвращает строку с индексом один, С .

 печать («NS» [lat1 < 0])
print('NS'[lat2 < 0])
Н
С
 

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

 def print_coords(широта, долгота):
    ns = 'NS'[lat < 0] #True (1) по умолчанию равно "N", а False (0) по умолчанию равно "S"
    we = 'EW'[long < 0] # True (1) по умолчанию равно "E" и False (0) по умолчанию равно "W
    print(f'{abs(lat):.2f}°{ns}, {abs(long):.2f}°{we}')
 
широта, долгота = 57,682605, 11,983421
 
print_coords(широта, долгота)
57,68 ° с. Рефакторинг кода — это искусство, и мы должны постоянно стремиться улучшить читабельность и производительность нашего кода. Написание дополнительных условных операторов Python — это только один из способов сделать это! 

Python If Statement (учебник и примеры 2022 г.)

учебник по Python

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

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


Что такое условные операторы в Python?

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

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

Давайте посмотрим, как использовать условные операторы в вашем коде. Мы также будем использовать зарезервированные ключевые слова и , вместо и или , о которых мы узнали на предыдущем уроке.


Введение в операторы Python If Else

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

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

Пример кода

, если условие:
    Блок кода для выполнения, когда это условие истинно. Условие может быть любым выражением, результатом которого является логическое значение — True или False.
еще:
    Блок кода для выполнения, когда это условие равно False. Здесь оператор else не требует условия и будет выполнен, если условие в операторе if равно False. 

В приведенном выше примере все, что следует за «if:» и «else:», изменяется на один уровень при однократном нажатии табуляции. Это очень важная концепция, о которой следует помнить при написании кода.

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

Пример кода

, если условие:
    Блок кода для выполнения, когда это условие истинно. Условием может быть любое выражение, результатом которого является логическое значение — True или False.
Элиф другое_условие:
    Блок кода для выполнения, когда это условие равно False. Здесь оператор else не нуждается в условии и будет выполнен, если условие в операторе if равно False.
Элиф еще_другое_условие:
    Блок кода для выполнения, когда это условие равно False. Здесь оператор else не нуждается в условии и будет выполнен, если условие в операторе if равно False. 
еще:
    Блок кода для выполнения, когда это условие равно False. Здесь оператор else не нуждается в условии и будет выполнен, если условие в операторе if равно False. 

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

Пример кода

 >>> классы = 75
>>> если оценки > 70:
... print("Выпускной!")
... еще:
... печатать("Не удалось.")
...
Выпускник! 

Здесь, поскольку переменной присвоено значение 75 , условие градации > 70 будет равно True в операторе if, и код выведет Выпускник!

Давайте рассмотрим еще один пример оператора if..elif..else . Введите следующий код построчно, а затем выполните его в командной строке.

Пример кода

 >>> temp_celcius = 18
>>> если temp_celcius > 40:
... print("Жара! Оставайтесь дома")
. .. elif temp_celcius > 20 и temp_celcius <= 40:
... print("Очень жаркая погода. Не допускайте обезвоживания")
... elif temp_celcius > 10 и temp_celcius <= 20:
… # это выполняется
... print ("Отличная погода с прохладным ветерком")
... elif temp_celcius > 0 и temp_celcius <= 10:
... print ("Погода немного прохладная. Одевайтесь теплее")
... еще:
... print("Зимнее время. Бери зимнюю куртку")
...
Отличная погода с прохладным ветерком 

Здесь переменной temp_celcius присвоено значение 18 . Оператор elif, оценивающий условие как True , равен elif temp_celcius > 10 и temp_celcius <= 20 . Символ <=  означает «меньше или равно». Кроме того, вы можете видеть, что условие может быть либо простым оператором, либо более сложным оператором, объединенным с использованием ключевых слов и , или и , а не .


Упражнение Python: поток управления

Обзор упражнения Python

Давайте применим навыки использования операторов потока управления на практике, выполнив небольшое упражнение.

Создайте новый блокнот и назовите его python-control-flow-exercise . Выполните следующие действия, чтобы выполнить упражнение. В конце вы научитесь писать условную логику, используя операторы if...elif...else .

Инструкции по упражнению Python

  • В рамках этого упражнения вам нужно определить, является ли число четным или нечетным. Число, которое делится на 2 (остаток равен 0), является четным, иначе это нечетное число.
  • Создайте переменную с именем input_num и присвойте ей значение 3 для начала.
  • Напишите оператор if...elif...else  следующим образом, чтобы определить, является ли число четным или нечетным.
    • Отметьте , если число имеет тип int   и  полностью делятся на 2 с помощью оператора по модулю %. Выведите число четное .
    • В противном случае, если ( elif ) число имеет тип int и не делится точно на 2, выведите число нечетное .