Модульні уроки (3/4)
Умовні: if, elif, else
Умови дозволяють запускати інший код на основі
значення логічного виразу. У Python вони записуються за допомогою if, elif
(скорочення для "інакше, якщо") і else.
Основна форма
eta = 18
if eta >= 18:
messaggio = "maggiorenne"
else:
messaggio = "minorenne"Примітка:
- після умови завжди стоїть двокрапка
:; - блок «всередині» if ідентифікується відступом (4 пробіли);
- вам не потрібні круглі дужки навколо умови (хоча вони дозволені).
Більше відділень з elif
voto = 7
if voto >= 9:
giudizio = "ottimo"
elif voto >= 7:
giudizio = "buono"
elif voto >= 6:
giudizio = "sufficiente"
else:
giudizio = "insufficiente"Гілки elif оцінюються в тому порядку, в якому ви їх записуєте, і вони зупиняються на
перший, який виявляється правдою.
Умовний вираз (трійковий)
Для простих випадків ви можете записати все в один рядок:
eta = 20
messaggio = "maggiorenne" if eta >= 18 else "minorenne"Англійською мовою це природно читається: "maggiorenne if eta >= 18 else minorenne".
«Правдиві» / «хибні» цінності
Умова не обов’язково має бути порівнянням: будь-яке значення може
використовувати як умову. Помилковими вважаються: False, None, 0,
"", [], {}. Все інше вірно.
nome = "Ada"
if nome:
saluto = f"Ciao {nome}!"
else:
saluto = "Ciao sconosciuto!"Умовні вирази (тернарний оператор)
Python підтримує компактну однорядкову конструкцію if-else, яка діє як тернарний оператор, який є в інших мовах:
result = "Even" if n % 2 == 0 else "Odd"Це зберігає ваш код лаконічним, коли вам просто потрібно призначити значення на основі умови.
Спробуйте самі
Враховуючи `number = 15`, призначте `sign` рядку 'positivo', якщо число > 0, 'zero', якщо воно дорівнює 0, 'negativo' в іншому випадку. Оцініть `знак`.
Показати підказку
Три гілки: > 0, == 0, ще.
Рішення доступне після 3 спроб
Повторна вправа
Якщо `age = 20`, призначте `category` рядок 'maggiorenne' або 'minorenne' за допомогою потрійного виразу (if/else в одному рядку).
Показати підказку
Синтаксис: значення_якщо_істина якщо умова інше значення_якщо_хибність
Рішення доступне після 3 спроб
Додатковий виклик
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 спроб