Ми пишемо умовне виконання команди за допомогою if
. Ми можемо використовувати будь-який логічний вираз як умову. Також можна умовно виконувати кілька команд. Блок команд позначаємо відступом:
if answer != 42: # команди виконуються тільки при виконанні умови:
print("Bad answer") # напишемо текст
answer = 42 # а також змінимо змінну
Гілка еlse
Ми також можемо сказати, що має статися, якщо умова не виконується. Це робиться за допомогою команди else
, за якою йде блок команд із відступом:
if x < 10:
print("small") # виконується, якщо умова виконується
else:
print("big") # виконується, якщо умова не виконується
Окремі варіанти обчислення називаються гілками, а умовну команду також можна назвати розгалуженням.
Багатократне розгалуження
Якщо ми хочемо перевірити кілька варіантів, ми можемо застосувати конструкцію if / elif /else. У деяких мовах програмування оператор switch
використовується для багаторазового розгалуження. У нас немає цієї команди у Python, ми можемо обійтися `elif’:
if age < 6:
print("дошкільник")
elif age < 18: # перевіряється, якщо попередня умова не виконується
print("школяр")
elif age < 65: # перевіряється, якщо жодна з попередніх умов не виконується
print("дорослий ")
else: # виконується, якщо жодна з попередніх умов не застосовується
print("пенсіонер")
З гілок if/elif
виконується щонайбільше одна з них – та, у якої умова виконується першою, є виконаною. У наведеному прикладі, якщо в змінній age
збережено значення 15, друкується лише текст «школяр». Умова age < 65
також виконується, але вона більше не оцінюватиметься.
Вкладене розгалуження
Ми також можемо вкладати умовні команди, тобто деякі з гілок можуть мати подальше розгалуження. Потім нам потрібно збільшити зсув для наступних гілок. Отже, ми можемо написати:
if choice == "tea":
if money >= 10:
print("ok")
else:
print("refuse")
else:
print("not available")
if n % 2 == 1:
if x > 13:
print("Win!")
Проте в деяких випадках простіше і зрозуміліше послуговуватися простим умовним оператором з умовою, що використовує логічні операції замість вкладеного коду. Як-от, ми можемо спростити другий приклад так:
if n % 2 == 1 and x > 13:
print("Win!")