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

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

Модуль 1: Python Core
Рівень 3 , Лекція 5
Відкрита

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)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
viktor ustenko Рівень 35
2 травня 2025
Дайте правильну відповідь!
Олександр Рівень 23
16 травня 2025
я обрав int('строка'), але написало, що не правильно..... тому, що буде помилка, якщо там введено не число, тому правильна відповідь int('число'). (Якщо я не правий, поправте)