Зміст курсу
Умовні Оператори в Python
Умовні Оператори в Python
Логічні Оператори
Раніше ми розглядали ситуації з однією умовою в операторі if. Тепер давайте поглибимось у випадки, коли нам потрібно оцінювати декілька умов.
Один із підходів - це використання вкладених операторів if, як показано в прикладі:
Приклад 1:
is_adult = True has_license = True if is_adult: if has_license: print("You can drive car")
Однак важко покладатися на вкладені умовні оператори if
, це не є найкращою практикою. Досвідчений розробник віддає перевагу використанню логічних операторів замість вкладених умов.
Приклад 2:
is_adult = True has_license = True if is_adult and has_license: print("You can drive car")
Мова Python має 3 логічні оператори:
and
- умова_1 і умова_2 - працює лише тоді, коли обидві умови єTrue
.or
- умова_1 або умова_2 - працює, якщо принаймні одна з двох вказаних умов єTrue
.not
-not умова
застосовується до однієї умови (не до двох, як у вище вказаних прикладах) і інвертує її значення.
В синтаксисі Python кожне "порожнє" значення еквівалентно False, а "не порожнє" значення еквівалентно True.
Давайте подивимося на умовний оператор з декількома умовами.
Уявімо, що ви склали іспити з трьох предметів і отримали наступні результати: math_exam = 95
, english_exam = 90
, programming_exam = 100
. І ви вирішили подати заявку на навчання в трьох різних університетах. Ці три університети мають різні умови для вступу. Давайте розглянемо їх.
Для вступу до першого університету вам потрібно мати результат не менше 90 з усіх трьох предметів одночасно. Давайте подивимося, чи ви можете потрапити в цей університет:
# Оцінки math_exam = 95 english_exam = 90 programming_exam = 100 # Перевіряємо чи ви пройшли до першого університету if math_exam >= 90 and english_exam >= 90 and programming_exam >= 90: print('Congratulations! You are enrolled in our university')
Як ми бачимо, ваші бали з усіх іспитів більше або рівні 90, отже, наш оператор if працює.
Тепер переходимо до наступного університету. Тут умови інші, оскільки це найкращий університет у вашому місті, ваші бали повинні бути більше або рівні 95.
# Оцінки math_exam = 95 english_exam = 90 programming_exam = 100 # Перевірка чи проходите ви до другого університету if math_exam >= 95 and english_exam >= 95 and programming_exam >= 95: print('Congratulations! You are enrolled in our university')
Як бачимо, наша умова не виконується, оскільки у нас є два об'єкти, які задовольняють умову, але третій об'єкт, а саме english_exam = 90
, менше 95. Тому в результаті ми нічого не отримуємо, і наш оператор if не виконується.
Переходимо до наступного університету. Тут умова досить проста. Для того, щоб пройти сюди, потрібно мати хоча б один предмет, який пройшов 100 балів.
Очевидно, що для цього випадку нам потрібно використовувати оператор або.
# Оцінки math_exam = 95 english_exam = 90 programming_exam = 100 # Перевірка умови, чи проходите ви до третього університету if math_exam == 100 or english_exam == 100 or programming_exam == 100: print('Congratulations! You are enrolled in our university')
Як бачимо, у нас залишився один предмет, який був складений на 100 балів. Як ми розуміємо, для оператора або достатньо, щоб одна з умов була Істина (True).
Варто пам'ятати, що якби жодна умова не була Істина, то в результаті ми б нічого не отримали, оскільки оператор if не спрацював би.
Настав час попрактикуватися!
# Your scores math_exam = 95 english_exam = 90 programming_exam = 100 # Checking whether you will pass to the third university if math_exam == 100 or english_exam == 100 or programming_exam == 100: print('Congratulations! You are enrolled in our university')
Як ми бачимо, у нас все ще є один предмет із оцінкою 100. Важливо зазначити, що для оператора or
достатньо, щоб лише одна умова була True
.
Варто пам'ятати, що якщо жодна з умов не є True
, то оператор if
не буде виконаний, і ви не відповідатимете критеріям.
Тепер пора практикуватись!
Дякуємо за ваш відгук!