Python краткое if else

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

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

Определение

Условные операторы в Python 3 иногда называют операторами ветвления. Они созданы, чтобы программа могла выбрать, какой инструкции стоит следовать при определенном значении заданной переменной. Условные операторы состоят из заголовка и тела. Заголовок – это сама конструкция и то, что стоит рядом с ним (не в фигурных скобках в других языках программирования или перед двоеточием в Python). Тело – то, что написано после двоеточия. Чтобы программа поняла, что код после него является вложенным, необходимо обязательно сделать отступ в виде четырех пробелов. Обычно они ставятся автоматически, если пользователь работает в специально созданной среде программирования.

Ситуаций, в которых можно было бы применить условный оператор, великое множество. К ним, например, относится:

  • Определение, сдал ли студент экзамен. При количестве верных ответов 10 из 15 – сдал, если меньше – не сдал;
  • Выяснение размера скидки. Если купил 10 товаров – скидка 10%, если меньше – скидка не предоставляется.

Оператор if

С английского название этого оператора переводится, как «если». То есть он задает условие. После данного оператора записывается само выражение. Если оно оказывается истинным, то программа переходит к выполнению инструкции, заданной в указанном операторе. Выражение считается истинным, когда оно:

Для ясности рассмотрим пример использования if — условия в Python 3:

На экране перед пользователем появится запись: Привет 3.

a = 6 if a == 6: print("Привет 2")

На дисплее компьютера отобразится: Привет 2.

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

a = 5 if a > 2: print("Привет 3")

Переменная равна 5, условие, чтобы она была больше 2. Оно истинное, поэтому перед нами появится: Привет 3.

Еще более сложный вариант с несколькими переменными:

Поскольку с действительно меньше 100, а станет равным 44, и именно это число появится на дисплее при выполнении данного кода. Если бы с изначально было большее 100, например, 110, то на экране бы отобразился 0, переменная а просто не изменилась бы вообще.

Оператор else

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

a = 7 if a > 5: print("Да") else: print("Нет")

При выполнении данного кода на компьютере появится: Да. Это происходит, потому что 7 действительно больше заданной в условии цифры 5.

Читайте также:  Маркер к ссылке css

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

a = 3 if a > 5: print("Да") else: print("Нет")

Очевидно, что перед пользователем появится слово «Нет», поскольку 3 не больше 5, а меньше.

product1 = 30 product2 = 23 if product1+ product2 > 70 : print("70 рублей не хватит") else: print("Денег хватает, все оплачено")

В данном случае программист увидит запись: Денег хватает, все оплачено, поскольку 30 + 23 = 53, а это меньше чем 70.

Оператор elif и конструкция if – elif – else

Вообще elif примерно расшифровывается, как else + if. Чтобы можно было реализовать программу, которая выбирала бы из нескольких альтернативных вариантов, используется указанная конструкция.

Рассмотрим код, в котором имеется несколько условий:

Так, программа может рассмотреть варианты с тремя условиями. И если переменная balance будет равна 150, то перед пользователем появится надпись: Ваш баланс выше нуля, все хорошо.

Оператор elif позволяет упростить код. Сделать его легче читаемым. Позволяет избежать написание несколько условий if в Python.

Тернарный оператор

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

is_happy = True state = "happy" if is_happy else "not happy"

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

Конструкция switch – case

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

if grade >= 50: print("Оценка 5 с плюсом") elif grade >= 45: print("Оценка 5") elif grade >= 35: print("Оценка 4") elif grade >= 25: print("Оценка 3") else: print("Тест провален")

В этом случае значение переменной grade будет сравниваться со всеми условиями подряд. Однако когда условие станет истинным, выполнение кода остановится и на экране появится сообщение об оценке. Например, если grade равен 30, то на дисплей будет выведена надпись: Оценка 3; если же переменная будет ниже 25, то пользователь увидит: Тест провален.

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

Читайте также:  Python numpy cosine similarity

Источник

Python statement of short ‘if-else’

Is there a Python version of the following if — else statement in C++ or similar statement like this:

6 Answers 6

m = 100 if t == 0 else 5 # Requires Python version >= 2.5 m = (5, 100)[t == 0] # Or [5, 7][t == 0] 

Both of the above lines will result in the same thing.

The first line makes use of Python’s version of a «ternary operator» available since version 2.5, though the Python documentation refers to it as Conditional Expressions .

The second line is a little hack to provide inline functionality in many (all of the important) ways equivalent to ?: found in many other languages (such as C and C++).

I find this shorthand «m = (5, 100)[t == 0] » a little bit weird in terms of value positioning, but it works tho

The construct you are referring to is called the ternary operator. Python has a version of it (since version 2.5), like this:

t = 0 if t == 0: m = 100 else: m = 5 

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.

Or if you really, really must (works in Python >= 2.5):

t = 0 m = 100 if t == 0 else 5 

-1. The ternary operator is far less ugly than a long-if for simple operations like this, quite explicit, and way simpler. Dogma is ugly.

Since 0 is a falsy value, we could write:

This is equivalent to the first one.

I find the first shorthand handy in keyword pass-in. Example below shows that it is used in tkinter grid geometry manager.

class Application(Frame): def rcExpansion(self, rows, cols, r_sticky, c_sticky): for r in range(rows): self.rowconfigure(r, weight=r) b = Button(self, text = f"Row ", bg=next(self.colors)) b.grid(row=r, column= 0, sticky = N+S+E+W if r_sticky == True else None) for c in range(cols): self.columnconfigure(c, weight=c) b = Button(self, text = f"Column ", bg=next(self.colors)) b.grid(row=rows, column = c, sticky = N+S+E+W if c_sticky == True else None) app = Application(root=Tk()) app.rcExpansion(3, 4, True, False) 

Источник

Python If . Else

Python supports the usual logical conditions from mathematics:

  • Equals: a == b
  • Not Equals: a != b
  • Less than: a < b
  • Less than or equal to: a
  • Greater than: a > b
  • Greater than or equal to: a >= b

These conditions can be used in several ways, most commonly in «if statements» and loops.

An «if statement» is written by using the if keyword.

Example

In this example we use two variables, a and b , which are used as part of the if statement to test whether b is greater than a . As a is 33 , and b is 200 , we know that 200 is greater than 33, and so we print to screen that «b is greater than a».

Indentation

Python relies on indentation (whitespace at the beginning of a line) to define scope in the code. Other programming languages often use curly-brackets for this purpose.

Example

If statement, without indentation (will raise an error):

Elif

The elif keyword is Python’s way of saying «if the previous conditions were not true, then try this condition».

Example

In this example a is equal to b , so the first condition is not true, but the elif condition is true, so we print to screen that «a and b are equal».

Else

The else keyword catches anything which isn’t caught by the preceding conditions.

Example

a = 200
b = 33
if b > a:
print(«b is greater than a»)
elif a == b:
print(«a and b are equal»)
else:
print(«a is greater than b»)

In this example a is greater than b , so the first condition is not true, also the elif condition is not true, so we go to the else condition and print to screen that «a is greater than b».

You can also have an else without the elif :

Example

Short Hand If

If you have only one statement to execute, you can put it on the same line as the if statement.

Example

Short Hand If . Else

If you have only one statement to execute, one for if, and one for else, you can put it all on the same line:

Example

One line if else statement:

This technique is known as Ternary Operators, or Conditional Expressions.

You can also have multiple else statements on the same line:

Example

One line if else statement, with 3 conditions:

And

The and keyword is a logical operator, and is used to combine conditional statements:

Example

Test if a is greater than b , AND if c is greater than a :

Or

The or keyword is a logical operator, and is used to combine conditional statements:

Example

Test if a is greater than b , OR if a is greater than c :

Not

The not keyword is a logical operator, and is used to reverse the result of the conditional statement:

Example

Test if a is NOT greater than b :

Nested If

You can have if statements inside if statements, this is called nested if statements.

Example

if x > 10:
print(«Above ten,»)
if x > 20:
print(«and also above 20!»)
else:
print(«but not above 20.»)

The pass Statement

if statements cannot be empty, but if you for some reason have an if statement with no content, put in the pass statement to avoid getting an error.

Источник

Оцените статью