№13 Условные выражения и конструкция if / Уроки по Python для начинающих

Предыдущий урок: Словарь (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”.

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