Как применять if, elif, else ~ Урок для начинающих ~ PythonRu

Предыдущий урок: Словарь (dict)

Python поддерживает обычные логические выражения:

  • Равно: a == b
  • Не равно: a != b
  • Меньше чем: a < b
  • Меньше чем или равно: a <= b
  • Больше чем: a > b
  • Больше чем или равно: a >= b

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

a = 33  
b = 200  
if b > a:  
    print("b больше, чем a")

Вывод:

b больше, чем a

В этом примере мы используем две переменных, a и b, которые используются как часть оператора if чтобы убедиться, что b больше чем a. Учитывая, что a — 33, а b — 200, мы знаем что 200 больше чем 33, поэтому мы выводим на экран “b больше, чем a”.

Отступы

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

a = 33  
b = 200  
if b > a:  
print("b больше, чем a")

Результат:

  File "demo_indentation_test.py", line 2  
    print("b больше, чем a")  
        ^  
IndentationError: expected an indented block

elif

Ключевое слово elif — это способ Python сказать, что “если предыдущие условные были неверными, тогда попробуйте это условное”.

a = 33  
b = 33  
if b > a:  
    print("b больше, чем a")  
elif a == b:  
    print("a равно b")

Вывод:

a равно b

В этом примере a равняется b, в связи с этим первое условие не будет верно, но условие elif — True, поэтому на экран мы выводим “a равно b”.

Тест на знание python

Какая функция удаляет объект из списка?

Продолжить

Что нужно вcтавить после «if», для вывода «x четное число»

Продолжить

Что выведет этот код?

Продолжить

Что выведет этот код?

Продолжить

Какой ввод НЕ приведет к ошибке?

Продолжить

Продолжить

{{title}}

{{image}}

{{content}}

{{/global}}

Поделиться результатами через

else

Ключевое слово else захватывает все, что не было захвачено предыдущими условиями.

a = 200
b = 33
if b > a:
    print("b больше, чем a")  
elif a == b:  
    print("a и b равны")  
else:  
    print("a больше, чем b")

Вывод:

a больше, чем b

В этом примере a больше чем b, и поэтому первое условие не будет true, так же как и условие elif не будет true, поэтому нам нужно перейти else и вывести на экран “a больше, чем b”.
Вы можете так же использовать else без elif:

a = 200  
b = 33  
if b > a:  
    print("b больше, чем a")
else:
    print("b меньше, чем a")

Вывод:

b меньше, чем a

Короткая запись If

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

Однострочная запись if:

if a > b: print("a больше, чем b")

Короткая запись If … Else

Если у вас есть только один оператор для выполнения, один для if и один для else, вы можете поместить их в одну строку:

Пример

Однострочный оператор if else:

print("A") if a > b else print("B")

Так же вы можете записать сразу несколько операторов else на одной строке:

print("A") if a > b else print("=") if a == b else print("B")

And

Ключевое слово and — логический оператор, который используется для объединения условных операторов:
Проверьте больше ли a нежели b, и больше ли c чем a:

if a > b and c > a:  
    print("Оба условия True")  

Or

Ключевое слово or — логический оператор, который используется для объединения условных операторов:
Проверьте больше a чем b, или больше ли a в сравнении с c:

if  a > b or a > c:  
print("Одно из усовий True")

Далее: Цикл while

pythonru.com

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

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

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

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


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

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


age = 22
if age > 21:
    print("Доступ разрешен")
print("Завершение работы")

Поскольку в данном случае значение переменной age больше 21, то будет выполняться блок if, а консоль выведет следующие строки:


Доступ разрешен
Завершение работы

Отступ желательно делать в 4 пробела или то количество пробелов, которое кратно 4.

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

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


age = 22
if age > 21:
    print("Доступ разрешен")
    print("Завершение работы")

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


age = 18
if age > 21:
    print("Доступ разрешен")
else:
    print("Доступ запрещен")

Если выражение age > 21 возвращает True, то выполняется блок if, иначе выполняется блок else.

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


age = 18
if age >= 21:
    print("Доступ разрешен")
elif age >= 18:
    print("Доступ частично разрешен")
else:
    print("Доступ запрещен")

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

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


age = 18
if age >= 18:
    print("Больше 17")
    if age > 21:
        print("Больше 21")
    else:
        print("От 18 до 21")

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


age = 18
if age >= 18:
    print("Больше 17")
if age > 21:
    print("Больше 21")
else:
    print("От 18 до 21")

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


# Программа Обменный пункт

usd = 57
euro = 60

money = int(input("Введите сумму, которую вы хотите обменять: "))
currency = int(input("Укажите код валюты (доллары - 400, евро - 401): "))

if currency == 400:
    cash = round(money / usd, 2)
    print("Валюта: доллары США")
elif currency == 401:
    cash = round(money / euro, 2)
    print("Валюта: евро")
else:
    cash = 0
    print("Неизвестная валюта")

print("К получению:", cash)

С помощью функции input() получаем вводимые пользователем данные на консоль. Причем данная функция возвращает данные в виде строки, поэтому нам надо ее еще привести к целому числу с помощью функции int(), чтобы введенные данные можно было использовать в арифметических операциях.

Программа подразумевает, что пользователь вводит количество средств, которые надо обменять, и код валюты, на которую надо произвести обмен. Коды валюты достаточно условны: 400 для долларов и 401 для евро.

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

round().

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


Введите сумму, которую вы хотите обменять: 20000
Укажите код валюты (доллары - 400, евро - 401): 401
Валюта: евро
К получению: 333.33

metanit.com

Интерактивный учебник языка Python

1. Синтаксис условной инструкции

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

Допустим мы хотим по данному числу x определить его абсолютную величину (модуль). Программа должна напечатать значение переменной x, если x>0 или же величину -x в противном случае. Линейная структура программы нарушается: в зависимости от справедливости условия x>0 должна быть выведена одна или другая величина. Соответствующий фрагмент программы на Питоне имеет вид:

-273
x = int(input())
if x > 0:
    print(x)
else:
    print(-x)

В этой программе используется условная инструкция if (если). После слова if указывается проверяемое условие

(x > 0), завершающееся двоеточием. После этого идет блок (последовательность) инструкций, который будет выполнен, если условие истинно, в нашем примере это вывод на экран величины x. Затем идет слово else (иначе), также завершающееся двоеточием, и блок инструкций, который будет выполнен, если проверяемое условие неверно, в данном случае будет выведено значение -x.

Итак, условная инструкция в Питоне имеет следующий синтаксис:

if Условие:
    Блок инструкций 1
else:
    Блок инструкций 2

Блок инструкций 1 будет выполнен, если Условие истинно. Если Условие ложно, будет выполнен

Блок инструкций 2.

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

-273
x = int(input())
if x < 0:
    x = -x
print(x)

В этом примере переменной x будет присвоено значение -x, но только в том случае, когда x<0. А вот инструкция print(x) будет выполнена всегда, независимо от проверяемого условия.

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

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

pythontutor.ru

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

Данная тема — это классика жанра. Уловный оператор if-else — это основа программирования Python. Этим оператором нужно умело пользоваться. Я видел мало скриптов, где не применялся этот уловный оператор. Во многих языках программирования конструкция условного оператора выглядит примерно одинаково. Есть условие и само тело оператора. Есть два блока условий. Одни срабатывает когда условие соблюдается, другой блок срабатывает если условие не соблюдается.


#!/usr/bin/python3
a = 1

# конструкция в одну строку
b = a if(a == 1) else 'a!=1'
print(b)
#вывод: 1

#разделитель
print('-' * 40)

# конструкция в несколько строк
if(a != 1):
    #сработает если верно условие в скобках(х)
    print('a!=1', 'a:', a)
else:
    #сработает если предыдущее условие в скобках(х) не сработало
    print('a=1', 'a:', a)
#вывод: a=1 a: 1

Помимо контсрукции if-else есть ещё конструкция if-elif-else. Тут может быть множество условий elif. Помните что если у вас масса условий, то лучше написать диспетчер файлов. Он будет налету превращаться в вызываемую функцию. В него можно будет передавать данные. Посмотрите на пример. Я применил функцию input для ввода данных пользователем. По хорошему в этом скрипте надо использовать исключения Выброс и перехват исключений в Python. Если вы введёте текст sdfsdf, то появится ошибка: ValueError: invalid literal for int() with base 10: ‘sdfsdf’


#!/usr/bin/python3
a = int(input('введите цифру от 1-10\n'))

if a == 1:
    print('a=1')
elif a == 2:
    print('a=2') 
else:
    print('Предыдущие условия не сработали!')
	
'''
в случае ввода 1
a=1

в случае ввода 40
Предыдущие условия не сработали!
'''

просмотры: 3039, уровень: лёгкий уровень, рейтинг: 0, дата: 2017-09-01 14:23:57

Комментарии:

trainingweb.ru

Условная конструкция if. Python: обширность и простота языка

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

Краткий обзор Python

С помощью Python задачи можно решать совершенно разные. Почему?

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

Изучать Python на русском не представляется возможным, поскольку зарезервированные слова пишутся на английском языке. Текст, выводимый на экран, можно представить на языке, понятном пользователю, если использовать кодировку.

Еще в 2013 году Python занимал первое место по изучению среди пользователей. Вторая позиция у языка Java, а третья – у С++. К 2017 году статистика немного изменилась. Первую строчку занимает Java, вторую и третью – С и С++, четвертую – Python. Хотя он и потерял несколько позиций в рейтинге, его популярность среди программистов только растет. Некоторые организации ищут для работы исключительно питонистов. Поскольку Python – высокоуровневый язык, при минимальных затратах производительность труда становится максимальной.

Достоинства Python

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

  • Наипростейшая команда help () способна выдать полную информацию, касающуюся поставленного вопроса.
  • С помощью Python можно написать и простейшие скрипты, и создать полноценные приложения (будь то web-программирование или игры).
  • Кросс-платформенность языка позволяет запускать написанные приложения под любой операционной системой: Windows, Linux, Mac Os.
  • Огромнейшая стандартная библиотека позволяет подключать различные модули. Их «деятельность» направлена на решение задач с базами данных, web-разработкой, сложными математическими вычислениями и т.д.
  • Во Всемирной сети можно найти ответ на любой вопрос, касающийся Python, поскольку вокруг языка сформировалось сообщество с грамотными и опытными специалистами.
  • Возможность интегрировать приложение, написанное на «Питоне», в любую программу, исполненную на С++, к примеру.
  • У каждого типа данных имеются функции и методы Python, которые значительно облегчают жизнь пользователю.
  • Распространяется дистрибутив совершенно бесплатно. Некоторые операционные системы изначально его устанавливают.

Виды условных конструкций

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

Конструкция if Python подразделяется на следующие виды:

  • Синтаксис if. Здесь определяется условие. Если оно верно, выполняется соответствующий блок. Если же результат вычислений – False, то прописанные команды пропускаются и программа следует дальше.

Блок-схема конструкции if.

Пример программы:

  • Синтаксис if …else. В первоначальную конструкцию может добавляться зарезервированное слово else. В блоке, подчиняющемся этой команде, прописываются выражения. Они будут выполняться, если первоначальные условия выдает результат False.

Блок-схема конструкции if …else.

Пример программы:

  • Синтаксис if… elif… else. Команда, расположенная по центру, позволяет проверять на истинность несколько условий. Если какое-то из них выдает True, то выполняется соответствующий блок. Количество elif в условной конструкции может быть произвольным, в отличие от else.

Блок-схема конструкции if …elif … else.

Пример программы:

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

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

fb.ru

обширность и простота языка — RUUD

Содержание статьи:

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

Краткий обзор Python

С помощью Python задачи можно решать совершенно разные. Почему?

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

Вам будет интересно:Варианты применения JavaScript alert()

Изучать Python на русском не представляется возможным, поскольку зарезервированные слова пишутся на английском языке. Текст, выводимый на экран, можно представить на языке, понятном пользователю, если использовать кодировку.

Еще в 2013 году Python занимал первое место по изучению среди пользователей. Вторая позиция у языка Java, а третья – у С++. К 2017 году статистика немного изменилась. Первую строчку занимает Java, вторую и третью – С и С++, четвертую – Python. Хотя он и потерял несколько позиций в рейтинге, его популярность среди программистов только растет. Некоторые организации ищут для работы исключительно питонистов. Поскольку Python – высокоуровневый язык, при минимальных затратах производительность труда становится максимальной.

Достоинства Python

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

  • Наипростейшая команда help () способна выдать полную информацию, касающуюся поставленного вопроса.
  • С помощью Python можно написать и простейшие скрипты, и создать полноценные приложения (будь то web-программирование или игры).
  • Кросс-платформенность языка позволяет запускать написанные приложения под любой операционной системой: Windows, Linux, Mac Os.
  • Огромнейшая стандартная библиотека позволяет подключать различные модули. Их «деятельность» направлена на решение задач с базами данных, web-разработкой, сложными математическими вычислениями и т.д.
  • Во Всемирной сети можно найти ответ на любой вопрос, касающийся Python, поскольку вокруг языка сформировалось сообщество с грамотными и опытными специалистами.
  • Возможность интегрировать приложение, написанное на «Питоне», в любую программу, исполненную на С++, к примеру.
  • У каждого типа данных имеются функции и методы Python, которые значительно облегчают жизнь пользователю.
  • Распространяется дистрибутив совершенно бесплатно. Некоторые операционные системы изначально его устанавливают.

Виды условных конструкций

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

Конструкция if Python подразделяется на следующие виды:

  • Синтаксис if. Здесь определяется условие. Если оно верно, выполняется соответствующий блок. Если же результат вычислений – False, то прописанные команды пропускаются и программа следует дальше.

Блок-схема конструкции if.

Пример программы:

  • Синтаксис if …else. В первоначальную конструкцию может добавляться зарезервированное слово else. В блоке, подчиняющемся этой команде, прописываются выражения. Они будут выполняться, если первоначальные условия выдает результат False.

Блок-схема конструкции if …else.

Пример программы:

  • Синтаксис if… elif… else. Команда, расположенная по центру, позволяет проверять на истинность несколько условий. Если какое-то из них выдает True, то выполняется соответствующий блок. Количество elif в условной конструкции может быть произвольным, в отличие от else.

Блок-схема конструкции if …elif … else.

Пример программы:

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

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

Источник

ruud.ru

python — Хороши ли однострочные операторы if /for для стиля Python?

В старых версиях Python допускается только один простой оператор после for ...: if ...: или подобные вводные инструкции блока.

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

for i in range(3): print "Here's i:"; print i

… но, с другой стороны, мы не можем:

for i in range(3): if i % 2: print "That's odd!"

Мы можем:

x=10
while x > 0: print x; x-=1

… но мы не можем:

x=10; while x > 0: print x; x-=1

… и так далее.

В любом случае все они считаются крайне непитоническими. Если вы напишете такой код, то опыт Pythonistas, вероятно, будет не совсем понятен вашим навыкам.

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

x=0; y=1

… или даже:

if some_condition(): break

… для простого break continue и даже return утверждения или назначения.

В частности, если нужно использовать серию из elif, можно использовать что-то вроде:

if     keystroke == 'q':   break
elif   keystroke == 'c':   action='continue'
elif   keystroke == 'd':   action='delete'
# ...
else:                      action='ask again'

… тогда ты не будешь слишком раздражать своих коллег. (Тем не менее, цепочки elif похожи на этот крик для рефакторинга в таблицу диспетчеризации … словарь, который может выглядеть больше как:

dispatch = {
    'q': foo.break,
    'c': foo.continue,
    'd': foo.delete
    }


# ...
while True:
    key = SomeGetKey()
    dispatch.get(key, foo.try_again)()

sprosi.pro