Розгалуження — це така форма організації дій, при якій, в залежності від виконання або невиконання певної умови, виконується одна з двох послідовностей дій.
Для реалізації команди розгалуження мовою Python використовуються умовні оператори if, if...else, if ... elif...еlse.
Команда іf
Виконання команди \(if\) (англ.якщо) можна описати так: «якщо умова істинна, то виконати дії» (рис. 31.1). Команда \(if\) реалізує алгоритмічну конструкцію неповне розгалуження.
 
5.PNG
  
Оператор \(if\) перевіряє істинність зазначеної умови. Якщо умова істинна (True), програма виконає дію, зазначену  в частині <оператор>. Якщо ж умова хибна (False), то керування передається оператору, що міститься після оператора \(if\).
Приклад:
Вітання Вітаю! виводиться, тільки якщо користувач уводить y.
answer = input('Сьогодні твій день народження? (y/n)')
if answer == 'y':
          print('Вітаю!')
Команда if ... else
Алгоритмічній конструкції «повне розгалуження» відповідає команда розгалуження if ...else.
  
 6.PNG
 
Якщо результатом перевірки умови є значення True, то виконується блок дій <Дії1>. Якщо перевірка умови дала результат False, виконується блок дій <Дії 2>, який міститься після службового слова еlse.
Зверни увагу!
Команди, вкладені в гілки if і else, записують з однаковим відступом.
Приклад:
Якщо користувач уводить у, виводиться вітання Вітаю!, інакше текст Щасти тобі!.
answer = input('Сьогодні твій день народження? (y/n)')
if answer == 'y':
         print('Вітаю!')
else:
         print('Щасти тобі!')
Команда if ... elif...еlse
Якщо потрібно послідовно перевірити декілька умов, застосовують множинне розгалуження . Для цього до оператора повного розгалуження слід додати ключове слово elif (від англ . else if — інше якщо).
 
7.PNG
 
У гілці elif обов’язково повинен бути логічний вираз — умова, як у заголовку if. У кінці після всіх гілок elif може бути одна гілка else для обробки випадків, які не відповідають умовам гілки if і всіх гілок elif.
 
Виконання цієї команди відбувається так:
  • перевіряється умова 1;
  • якщо умова 1 істинна (Так), то виконується  блок Дії 1 і після цього виконується команда, наступна за розгалуженням;
  • якщо умова 1 хибна (Ні), то перевіряється умова 2;
  • якщо умова 2 істинна (Так), то виконується блок Дії 2   і після цього виконується команда, наступна за розгалуженням;
  • якщо умова 2 хибна (Ні), то перевіряється умова 3 і т. д.;
  • якщо всі умови виявляться хибними, то виконується блок дій, розміщений після else, і після цього виконується команда, наступна за розгалуженням.
Зверни увагу!
  • Частина цієї команди else: <послідовність команд N> може бути відсутня;
  • послідовності команд після : записують з відступом вправо відносно першої літери слів if, elif та else. Розмір відступу для кожної з команд послідовності повинен бути однаковим;
  • якщо послідовності команд містять тільки по одній команді, то цю команду можна записувати після двокрапки без переходу на новий рядок.
Приклад:
Програма запитує в користувача назву річки і виводить повідомлення про те, куди річка впадає.
name = input('Уведіть назву річки: ')
if name = 'Дніпро' or name = 'Дністер': print('впадає у Чорне море.')
elif name = 'Ворскла': print('впадає у Дніпро.')
elif name = 'Збруч': print('впадає у Дністер.')
else: print('Відомостей немає.')
Джерела:
 Інформатика : підруч. для 7 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2020. — с. : іл.