Подорож №10
Логічні операції. Побудова складених логічних виразів.

В подорожі №8 ви дізналися, що в операторах if використовується логічний вираз. Логічний вираз будується за допомогою операції співвідношення (== != >= <= < > in). Для зручності назвемо такий вираз простий. В цій подорожі навчимося будувати логічні вирази, що складаються із простих логічних виразів та логічних операцій і назвемо їх складеними. Що таке прості логічні вирази зрозуміло, а що таке логічні операції треба розібратися. Отже, розглянемо логічні операції or and not

Якщо Ви на дистаційному навчанні рекомендовано переглянути відео

1.Операція or (або).

Припустимо, що із двох логічних виразів вираз1 та вираз2 необхідно побудувати складний логічний вираз за допомогою логічної операції or.

Розглянемо таблицю результатів складного виразу в залежності від значень виразу1 та виразу2.

вираз1 or вираз2

Вираз1Вираз2 Результат
True True True
True False True
False True True
False False False

Це означає, що у випадку, коли хоча б один з виразів матиме значення True, результат буде True і тільки тоді коли всі умови False, результат буде False.

Розглянемо приклад з використанням or:

Побудуємо діалог який має запросити у користувача e-mail або номер телефона для подальшої роботи. У випадку, коли щось одне збігається з даними бази(наприклад e-mail:test@i.ua телефон: 555-55-55), то користувач отримує дозвіл. У випадку, коли не збігається ні телефон ні електронна скринька, має бути відмова.

  Вікно редактора Python

# ідентифікація користувача e-mail або телефон
login = input('Введіть e-mail або номер телефону ')
if login == '555-55-55' or login == 'test@i.ua':
    print('Аутентифікацію пройдено успішно')
else:
    print('Невірно вказані дані')


2. Операція and (і).

Припустимо, що із двох логічних виразів вираз1 та вираз2 необхідно побудувати складний логічний вираз за допомогою логічної операції and.

вираз1 and вираз2

Розглянемо таблицю результатів складного виразу в залежності від значень виразу1 та виразу2.

Вираз1Вираз2 Результат
True True True
True False False
False True False
False False False

Це означає, що у випадку, коли хоча б один з виразів матиме значення False, результат буде False і тільки тоді коли всі умови True, результат буде True.

Розглянемо приклад з використанням and:

Побудуємо діалог який має запросити у користувача логін та пароль для подальшої роботи. У випадку, коли логін та пароль збігається зареєстрованими(наприклад логін:user, пароль:1111), то користувач отримує дозвіл. У випадку, коли логін або пароль не збігається, має бути відмова.

  Вікно редактора Python

# ідентифікація користувача за логіном та паролем
login = input('Введіть логін ')
password = input('Введіть пароль ')
if login == 'user' and password == '1111':
    print('Аутентифікацію пройдено успішно')
else:
    print('Логін або пароль не зареєстровано')


3. Логічна операція not(не)

Заперечує результат логічного виразу. Якщо логічний вираз має значення True, то not (логічний вираз) буде мати значення False. І навпаки: якщо логічний вираз має значення False, то not логічний вираз буде мати значення True.

Вираз not Вираз
True False
False True

Приклад розв'язування задачі:

Дано x
Підрахувати вираз y = 5/x.

Дріб розраховується тільки у випадках коли знаменник не дорівнює 0.

  Вікно редактора Python
# приклад використання not
x = float(input("x="))
if not x == 0:
    y = 5/x
    print("y = ",y)
else:
    print("Ділення на 0 неможливе")


not x == 0 можна було б замінити x != 0. Але, для прикладу можливо і таке.

Правило побудови складених логічних виразів.

Пріоритети логічних операцій

Для того, щоб будувати логічні вирази треба пам'ятати про пріоритети операцій і те, що пріоритети можливо замінити використанням дужок.

Логічні операції мають такі пріоритети:

  1. not
  2. and
  3. or

Використання дужок

Для групування логічних виразів використовують дужки. Тоді операції в дужках виконуються в першу чергу.

not True and False результат - false, т.я спочатку виконується not потім and

not (True and False) результат - True т.я спочатку виконується and потім not

Практичні вправи

Виконайте вправу

Завдання: впорядкуйте логічні вирази

Дайте відповідь на питання тесту

Перейти >>>

Задача №1. Аналіз введеного числа.

Дано: ціле число х. Код програми має перевірити чи належить число x діапазону (–5, 3).

Задача №2. Порівняння чисел.

Дано три цілих числа a,b,c. Знайти найбільше серед них.