JavaRush/Курси/Модуль 1: Python Core/Умовний оператор

Умовний оператор

Відкрита

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 то буде виведено напис «четверта чверть».
2
Задача
Модуль 1: Python Core,  3 рівень,  5 лекція
Недоступна
Негатив
Негатив
2
Задача
Модуль 1: Python Core,  3 рівень,  5 лекція
Недоступна
Оцінювач
Оцінювач
Коментарі (6)
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Oksana
Рівень 4
28 грудня 2025, 17:23
Використати ланцюгове порівняння: 50 <= B <= 74. - в лекції не було пояснення, а для проги потрібно
DataForce Data Engineer
16 вересня, 13:16
bl = int(input("Введіть кількість балів, яку Ви набрали: ")) if bl < 50 : res = "Незадовільно" elif bl < 75 : res = "Задовільно" elif bl < 90 : res = "Добре" else : res = "Відмінно" print(res)
viktor ustenko
Рівень 35
2 травня 2025, 17:48
Дайте правильну відповідь!
Олександр
Рівень 1
16 травня 2025, 00:18
я обрав int('строка'), але написало, що не правильно..... тому, що буде помилка, якщо там введено не число, тому правильна відповідь int('число'). (Якщо я не правий, поправте)
Роман
Рівень 21
8 лютого, 20:52
Те ж саме. Адміни сформуйте будь ласка коректно запитання це
17 березня, 08:51
ви все равно получите материю хоть и неправильно)