Перейти до основного вмісту
Модуль 1 · Урок 3 із 43/36 у курсі~10 min
Модульні уроки (3/4)

Умовні: if, elif, else

Умови дозволяють запускати інший код на основі значення логічного виразу. У Python вони записуються за допомогою if, elif (скорочення для "інакше, якщо") і else.

Основна форма

Python
eta = 18
if eta >= 18:
    messaggio = "maggiorenne"
else:
    messaggio = "minorenne"

Примітка:

  • після умови завжди стоїть двокрапка :;
  • блок «всередині» if ідентифікується відступом (4 пробіли);
  • вам не потрібні круглі дужки навколо умови (хоча вони дозволені).

Більше відділень з elif

Python
voto = 7
if voto >= 9:
    giudizio = "ottimo"
elif voto >= 7:
    giudizio = "buono"
elif voto >= 6:
    giudizio = "sufficiente"
else:
    giudizio = "insufficiente"

Гілки elif оцінюються в тому порядку, в якому ви їх записуєте, і вони зупиняються на перший, який виявляється правдою.

Умовний вираз (трійковий)

Для простих випадків ви можете записати все в один рядок:

Python
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"

Англійською мовою це природно читається: "maggiorenne if eta >= 18 else minorenne".

«Правдиві» / «хибні» цінності

Умова не обов’язково має бути порівнянням: будь-яке значення може використовувати як умову. Помилковими вважаються: False, None, 0, "", [], {}. Все інше вірно.

Python
nome = "Ada"
if nome:
    saluto = f"Ciao {nome}!"
else:
    saluto = "Ciao sconosciuto!"

Умовні вирази (тернарний оператор)

Python підтримує компактну однорядкову конструкцію if-else, яка діє як тернарний оператор, який є в інших мовах:

Python
result = "Even" if n % 2 == 0 else "Odd"

Це зберігає ваш код лаконічним, коли вам просто потрібно призначити значення на основі умови.

Спробуйте самі

вправи#python.m1.l3.e1
Спроби: 0Завантаження…

Враховуючи `number = 15`, призначте `sign` рядку 'positivo', якщо число > 0, 'zero', якщо воно дорівнює 0, 'negativo' в іншому випадку. Оцініть `знак`.

Завантаження редактора…
Показати підказку

Три гілки: > 0, == 0, ще.

Рішення доступне після 3 спроб

Повторна вправа

вправи#python.m1.l3.e2
Спроби: 0Завантаження…

Якщо `age = 20`, призначте `category` рядок 'maggiorenne' або 'minorenne' за допомогою потрійного виразу (if/else в одному рядку).

Завантаження редактора…
Показати підказку

Синтаксис: значення_якщо_істина якщо умова інше значення_якщо_хибність

Рішення доступне після 3 спроб

Додатковий виклик

вправи#python.m1.l3.e3
Спроби: 0Завантаження…

Write a conditional structure that checks if the variable `x` (initialized to `-5`) is greater than 0, less than 0, or equal to 0. Assign the string `'positive'`, `'negative'`, or `'zero'` to `sign` accordingly. Finally, evaluate `sign`.

Завантаження редактора…
Показати підказку

Використовуйте if x > 0:, elif x < 0: та else: для обробки трьох випадків.

Рішення доступне після 3 спроб