Поняття розгалуження. Перевірка умови і прийняття рішення за результатами цієї перевірки називається розгалуженням. Програма таким способом обирає, яким з можливих шляхів їх рухатися далі. В Python існує всього декілька способів перевірки, і в кожному випадку можливі всього дві відповіді: істина (true) або хиба (false).
В Python перевірка умови здійснюється за допомогою ключового слова if (якщо)Після слова if вказується умова, яка перевіряється, що завершується двокрапкою. Після цього йде блок (послідовність) інструкцій, який буде виконаний, якщо умова істинна. Потім йде слово else (інакше), також завершується двокрапкою, і блок інструкцій, який буде виконаний, якщо умова, що перевіряється невірна
Двокрапка (:) в кінці рядка з інструкцією if та else повідомляє інтерпретатора Python, що далі знаходиться блок команд. У блок входять всі рядки, розташовані з відступом від рядка з інструкцією if, аж до наступного рядка без відступу. Блоком (block) коду називають об'єднані один з одним рядки. Вони завжди пов'язані з певною частиною програми (наприклад, з інструкцією if). В Python блоки коду формуються за допомогою відступів. Відступ означає невелике зміщення рядків коду вправо. На початку такого рядка знаходяться кілька пробілів, за рахунок яких він на кілька символів відстоїть від лівого краю. Розмір відступу не має значення, головне, щоб весь блок був зсунутий на одну і ту же відстань. Відступ встановлюється клавішею Tab або пробілами. За замовчуванням в Python для відступу блоків коду використовуються чотири пробіли.
Приклад реалізації умовної конструкціїОтже, умовна інструкція в Пайтоні повинна виглядати так:if Умова: Блок інструкцій 1else: Блок інструкцій 2 Блок інструкцій 1 буде виконано, якщо Умова істинна. Якщо Умова помилкова, буде виконаний Блок інструкцій 2. В умовній конструкції може бути відсутнім слово else і наступний блок. Наприклад, якщо дано число x і ми хочемо замінити його на абсолютну величину x, то це можна зробити наступним чином:if x <0: x = -xprint (x)У цьому прикладі змінній x буде присвоєно значення -x, але тільки в тому випадку, коли x <0. А ось інструкція print (x) буде виконана завжди, незалежно від виконання умови, що перевіряється.
Усередині умовних інструкцій можна використовувати будь-які інструкції мови Python, в тому числі і ще одну умовну інструкцію. Отримуємо вкладене розгалуження - після однієї розвилки в ході виконання програми з'являється інша розвилка. При цьому вкладені блоки мають більший розмір відступу (наприклад, 8 пробілів). Покажемо це на прикладі програми, яка за даними ненульовим числах x і y визначає, в якій з чвертей координатної площини знаходиться точка (x, y):x = int (input ())y = int (input ())if x> 0: if y> 0: # x> 0, y> 0 print "Перша чверть" else: # x> 0, y <0 print "Четверта чверть"else: if y> 0: # x <0, y> 0 print "Друга чверть" else: # x <0, y <0 print "Третя чверть“# - символ, яким позначають коментар до програми. Вкладені умовні конструкції
{22838 BEF-8 BB2-4498-84 A7-C5851 F593 DF1}Оператор. Назва==Дорівнює!=Не дорівнює<Менше ніж>Більше ніж<=Менше або дорівнює>=Більше або дорівнюєПри написанні програм з розгалуженнями використовують оператори порівняння. Оператори порівняння порівнюють два значення між собою і повертають результат у вигляді булевого значення: істину або хибність. Оператори порівняння
Логічні операториand (логічне і)- загальна умова виконується якщо всі умови виконуються;or (логічне або) - загальна умова виконується якщо хоча б одна з умов виконується;not (логічне ні) – зміна значення на протилежне. Логічні оператори можуть об’єднувати довільну кількість умов. На мові PYTHON у цих операцій найнижчий пріоритет серед операцій, тому прості умови не беруться в дужки.
Каскадні умовні конструкціїДля перевірки більше однієї умови використовують команду elif (скорочення від else if). Записується ця команда тільки після інструкцій if або після іншої команди elif. Дана команда дозволяє вказувати додаткові умови для перевірки. Вкладені умовні конструкції в деяких випадках можна замінити каскадними. Для цього використовується інструкція elif, яка заміняє собою пару else та if. У такій конструкції умови if, ..., elif перевіряються по черзі, виконується блок, що відповідає першій з істинних умов. Якщо всі умови помилкові, то виконується блок else, якщо він присутній.
Каскадні умовні конструкціїПрограма, яка за даними ненульовим числах x і y визначає, в якій з чвертей координатної площини знаходиться точка (x, y) можна переписати у вигляді:x = int (input())y = int (input())if x > 0 and y > 0: print "Перша чверть"elif x > 0 and y < 0: print "Четверта чверть"elif y > 0: print " Друга чверть"else: print"Третя чверть"x = int (input ())y = int (input ())if x> 0: if y> 0: print "Перша чверть" else: print "Четверта чверть"else: if y> 0: print "Друга чверть" else: print "Третя чверть"Інший запис
Задачі для самостійного розв’язання. Дано два числа, вивести максимальне з них. Порівняти периметр і площу квадрата і прямокутника та вивести результат у вигляді текстового повідомлення. Дано натуральне число – номер року. Якщо він високосний, то вивести YES, а якщо ні – то вивести NO. Скласти програму введення оцінки Р, яку отримав учень, виведення тексту “Молодець!”- якщо Р>=9; “Добре!” - якщо P>5; і “Ледар!”- якщо P<=5. Скласти програму введення значення температури повітря t і виведення тексту “Гарна погода!”, якщо t>10 градусів за Цельсієм і тексту "Погана погода!, якщо t<=10 градусів за Цельсієм.