6.1 if else

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

if условие:
   команда1
else:
   команда2

Если условие истинно (правда, True), то выполнится команда1, если ложно (ложь, False) то выполнится команда2. Команды никогда не выполнятся одновременно: или одна, или вторая.

Важно! Дочерняя команда или команды обязательно(!) должны быть сдвинуты на 4 пробела относительно команд if и else. Более подробно об этом я расскажу в следующей лекции «Блок команд».

Примеры:


y = 4
if y > 5:
    print("y больше 5")
else:
    print("y не больше 5")
Условие y > 5 ложно, поэтому выполнится ветка else и программа напечатает "y не больше 5"

Еще пример:


age = int(input("Введите ваш возраст:"))
if age >=18:
    print("вы совершеннолетний")
else:
    print("иди делать уроки")
Если пользователь введет число 18 и больше, то программа напечатает «вы совершеннолетний», иначе напечатает «иди делать уроки».

6.2 if без else

Существуют еще 2 формы условного оператора – сокращенная и удлиненная.

В сокращенной форме отсутствует часть else.

if условие:
    команда

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

Пример:


age = int(input("Введите ваш возраст:"))
if age >=21:
    print("Вот ваше пиво!")
Если пользователь введет число 21 и больше, то программа напечатает «вот ваше пиво». Если число меньше 21 – программа не напечатает ничего.

6.3 if elif else

Удлиненная форма оператора if else позволяет склеить несколько операторов if else в один.

Допустим, вы хотите определить, к какой четверти координатной плоскости принадлежит точка с координатами x и y. Вот как это можно сделать с помощью оператора if и else:


x, y = 5, -8
if x > 0 and y > 0:
    print("первая четверть")
else:
    if x < 0 and y > 0:
        print("вторая четверть")
    else:
        if x < 0 and y < 0:
            print("третья четверть")
        else:
            print("четвертая четверть")
 
Если x > 0 и y > 0 то будет выведена надпись «первая четверть». Если x < 0 и y > 0 то будет выведена надпись «вторая четверть». Если x < 0 и y < 0 то будет выведена надпись «третья четверть». Если x > 0 и y < 0 то будет выведена надпись «четвертая четверть».

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


if условие1:
    команда1
elif условие2:
    команда2
elif условиеN:
    командаN
else:
    командаElse

Ключевое слово elif – это сокращение от else if. А код из примера выше теперь можно записать в виде:


x, y = 5, -8
if x > 0 and y > 0:
    print("первая четверть")
elif x < 0 and y > 0:
    print("вторая четверть")
elif x < 0 and y < 0:
    print("третья четверть")
else:
    print("четвертая четверть")


Если x > 0 и y > 0 то будет выведена надпись «первая четверть». Если x < 0 и y > 0 то будет выведена надпись «вторая четверть». Если x < 0 и y < 0 то будет выведена надпись «третья четверть». Если x > 0 и y < 0 то будет выведена надпись «четвертая четверть».
undefined
2
Задача
Модуль 1: Python Core, 3 уровень, 5 лекция
Недоступна
Негатив
Негатив
undefined
2
Задача
Модуль 1: Python Core, 3 уровень, 5 лекция
Недоступна
Оценщик
Оценщик