Теорія:

Розгалуження — це алгоритмічна структура, у якій залежно від виконання чи невиконання деякої умови здійснюється або та, або  інша послідовність дій. 
Команди розгалуження — це складені команди, у яких на відміну від простих команд присутні умови, в залежності від істинності яких виконуються або не виконуються оператори, що входять до складу команди розгалуження.
 
Для організації розгалужень у мові  Python призначені умовні оператори  if,  if...else, if...elif...else.
Умовний оператор if
Неповне розгалуження використовується в тому випадку, коли визначені дії тільки у разі виконання умови. Алгоритмічній конструкції  «неповне розгалуження» відповідає умовний оператор if.
Оператор if призначено для виконання деякої послідовності дій у тому випадку, якщо істинною є зазначена умова. 
Синтаксис оператора:
іf <умова>:
        <оператори>
Оператор  if  перевіряє  істинність зазначеної умови. Як умова використовується логічний  вираз (або логічна змінна як окремий  випадок логічного виразу). Умова істинна, якщо логічний вираз набуває значення True, і хибна в про тилежному  випадку.
Якщо умова  істинна  (True), програма виконає дію, зазначену в частині <оператор>. Якщо ж умова хибна (False), то керування передається оператору, що міститься після оператора if.
Блок-схема неповного розгалуження
Приклад
23.PNG
Складемо програму для упорядкування введених із клавіатури значень змінних a і b так, щоб a не перевищувало b:
a, b = map(int, input().split())
if a>b: a, b = b, a
print(a, b)
 
  
Зверни увагу!
Оператори записуються з обов’язковим однаковим відступом від лівого краю. Якщо оператор лише один, його можна записати після
двокрапки в одному рядку з умовою..
Умовний оператор if...else
Пов­не розгалуження використовується в тому випадку, коли визначені різні дії в разі виконання та невиконання умови. Алгоритмічній конструкції «повне розгалуження» відповідає умовний оператор if...else.
Синтаксис оператора:
if <умова>:
__<оператори 1>
else:
__<оператори 2>

Якщо умова виконується, тобто має значення True, то виконується блок дій <оператори 1>. В іншому випадку виконується блок дій <оператори 2>, записаний після службового слова еlse.
Зверни увагу!
Команди, вкладені в гілки if і else, записуються з однаковим відступом.
Блок-схема повного розгалуження
 Приклад
24.PNG
Складемо програму для перевірки, чи введені 3 числа є довжинами сторін прямокутного трикутника. Для перевірки скористаємось теоремою Піфагора:
a, b, c = map(int, input().split())
if a**2 == b**2+c**2 or b**2 == a**2+c**2 or c**2 == a**2+b**2:
              print('Так')
else:
              print('Ні')
 
Приклад:
Обчислити значення виразу (a + 2b) / (a - 3b), де a, b — дійсні числа.
a, b = map(float, input().split())
if a—3*b = 0:
      print( ’Вираз значення не має: ділення на нуль’)
else: 
      z = (a+2*b) /(a-3*b)
      print(z)
Приклад:
Обчислити значення заданої функції
 
25.PNG
 
x = float(input())
if (x > —3) and (x < 5):  y = 2*x - 12 
else: y = 7-8*x
print(y)
Вкладені розгалуження
Під час розв’язування багатьох задач виникає необхідність  при  виконанні (або  невиконанні) деякої умови знову робити вибір. У такій ситуації застосовують так звані вкладені розгалуження: у відповідній гілці умовного оператора знову використовують оператор іf.
Приклад:
Записати умовний оператор для обчислення значення функції:
 
26.PNG
 
If x < 0 Then y := x 
Еlse If x <= 5  Then y := x * x  
                         Else y := 2 * x;
Приклад:
Дано два числа. Визначити, чи рівні вони. Якщо ні, то яке з них більше?
if x == y: print(’Числа рівні’)
else:
           if x>y: print(’Перше число більше’)
           else: print(’Перше число менше’)
Приклад:
Складемо програму, яка б за уведеним цілим числом виводила слово «рік» у правильному відмінку.
K = int(input())
if K%10 == 0 or K%10>4 or K >= 11 and K <= 14: print('років')
else:
           if K%10 == 1: print('рік')
           else: print('роки')
 
Умовний оператор if...elif...else
Перевірку умови в гілці else можна записати скорочено, скориставшись ключовим словом elif (англ. else if — інакше, якщо).
Синтаксис оператора:
if <умова1>: <оператори 1>
elif <умова2>: <оператори 2>
...
elif <умова N>: <оператори N>
else: <оператори>
Інструкція if-elif-else припиняє перегляд наступних гілок, як тільки логічний вираз у поточній гілці буде True. Так, якщо вираз при if (перша гілка) буде True, то після виконання блоку <оператори 1> керування передається наступному за if-elif-else оператору. Якщо жодна з умов по гілках if-elif не є істинною, виконується блок операторів по гілці  else.
Зверни увагу!
У гілці elif обов’язково повинен бути логічний вираз — умова, як у заголовку if . У кінці після всіх гілок elif може бути одна гілка else для
обробки випадків, які не відповідають умовам гілки if і всіх elif .
Блок-схема множинного розгалуження
Приклад
27.PNGW = input('Введіть назву пори року: ')
if W == 'весна': print('березень, квітень, травень')
elif W == 'літо': print('червень, липень, серпень')
elif W == 'осінь': print('вересень, жовтень, листопад')
elif W == 'зима': print('грудень, січень, лютий')
else: print('неправильні дані')
Приклад:
Визначити, у якій координатній чверті лежить точка з координатами x, y (x ≠ 0, y ≠ 0).
x = int(input('x = ?'))
y = int(input('y = ?'))
if x>0 and y>0: print('І чверть')
elif x<0 and y>0: print('ІI чверть')
elif x<0 and y<0: print('ІII чверть')
elif x>0 and y<0: print('ІV чверть')
else: print('Точка лежить на осі')
 
28.PNG
Джерела:
Інформатика : підруч. для 8 кл. закл. заг. серед.освіти / Йосиф Ривкінд [та ін.]. — Київ : Генеза, 2021.
Інформатика : підруч. для 8 кл. закл. заг. серед.освіти  / О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов. — Х. : Вид-во «Ранок», 2021