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