Якщо потрібно послідовно перевірити декілька умов, застосовують багатоваріантне (множинне) розгалуження. Для цього до оператора повного розгалуження слід додати ключове слово elif (від англ . else if — інше якщо).
Команда if ... elif
Опис виконання команди: залежно від значення змінних при перевірці умови вибрати дію, яку слід виконати.
Гілок elif (elif — від англ. else if — інше якщо) може бути як завгодно багато.
Синтаксис неповної форми команди if-elif:
if <умова1>: <команда 1>
elif <умова2>: <команда 2>
elif <умова3>: <команда 3>
if <умова1>: <команда 1>
elif <умова2>: <команда 2>
elif <умова3>: <команда 3>
Зверни увагу!
У гілках elif обов’язково мають бути записані логічні вирази.
Приклад:
Визначити N — номер чверті, в якій розташована точка з координатами x, y (х ≠ 0, у ≠ 0) (рис.1).
Рис.1
х = int(input('x = ?')
y = int(input('y = ?')
if x>0 and y>0: print('I чверть')
elif x<0 and y>0: print('II чверть')
elif x<0 and y<0: print('III чверть')
elif x>0 and y<0: print('IV чверть')
Команда if-elif-else
Якщо змінна може набувати значення, яке не розглядається в умовах, то слід використовувати повну форму команди множинного розгалуження, тобто додати гілку else.
Зверни увагу!
ілка else виконується, коли не виконується жодна з умов гілок if-elif.
Синтаксис команди if-elif-else:
if <умова 1>: <команда 1>
elif <умова 2>: <команда 2>
elif <умова 3>: <команда 3>
else: <команда 4>
if <умова 1>: <команда 1>
elif <умова 2>: <команда 2>
elif <умова 3>: <команда 3>
else: <команда 4>
Рис.2
Приклад:
Запрограмувати поведінку гравця в лабіринті, якщо х — кількість монстрів, які зустрічаються на шляху.
if x == 0: # блок виконається, якщо x==0 істинне
print ('Монстрів немає. Шлях вільний!')
elif x<3: # блок виконається, якщо x<3 істинне
print('Стільки монстрів я легко подолаю')
elif x<5: print('Доведеться позмагатися')
else: # блок для всіх інших випадків
print('Час рятуватися втечею')
print ('Монстрів немає. Шлях вільний!')
elif x<3: # блок виконається, якщо x<3 істинне
print('Стільки монстрів я легко подолаю')
elif x<5: print('Доведеться позмагатися')
else: # блок для всіх інших випадків
print('Час рятуватися втечею')
Приклад:
Команда if-elif-else перевіряє, є натуральне одноцифрове число х простим чи складеним. У гілках elif перевіряється, чи є число х одним зі значень у списку.
if x == 1: print('Це — 1')
elif x in [2, 3, 5, 7]: print('Це – просте число')
elif x in [4, 6, 8, 9]: print('Це – складене число')
else: print('Дане число не є одноцифровим')
if x == 1: print('Це — 1')
elif x in [2, 3, 5, 7]: print('Це – просте число')
elif x in [4, 6, 8, 9]: print('Це – складене число')
else: print('Дане число не є одноцифровим')
Приклад:
Запишемо команду для вибору повідомлення залежно від суми балів, отриманих ученицею (рис.3).
if n<4: print('Вам доведеться виконати тест ще раз')
elif n<7: print('Ваша оцінка – задовільно')
elif n<10: print('Ваша оцінка – добре')
else: print('Ваша оцінка – відмінно')
elif n<7: print('Ваша оцінка – задовільно')
elif n<10: print('Ваша оцінка – добре')
else: print('Ваша оцінка – відмінно')
Рис.3
Джерела:
Інформатика : підруч. для 6 кл. закл. загал. серед. освіти / [О. О. Бондаренко, В. В. Ластовецький, О. П. Пилипчук, Є. А. Шестопалов]. — Харків : Вид-во «Ранок», 2023.