УМОВИ ТА ЛОГІКА
Курс: Python для аналітиків з нуля
1. ЩО НАВЧИМОСЯ РОБИТИ
Перевіряти умови, комбінувати логіку (and/or/not), фільтрувати дані за критеріями.
Умови = розгалуження програми. Якщо сигнал сильний → обробити. Якщо частота у діапазоні → зберегти. Основа фільтрації даних.2. ТЕРМІНОЛОГІЯ
if/elif/else
Конструкція розгалуження. if = якщо, elif = інакше якщо, else = інакше.Логічні оператори
and (і), or (або), not (не). Комбінація умов.
Оператори порівняння
== (дорівнює), != (не дорівнює), >, <, >=, <=
Truthy/Falsy
Значення що трактуються як True/False. Порожній список = False, непорожній = True.3. ТЕОРІЯ
3.1 Базовий if
signal = -45Важливо: відступ (4 пробіли) визначає що належить if.
3.2 if/else
signal = -623.3 if/elif/else
signal = -55Перевіряє по черзі. Перша True умова виконується, решта пропускаються.
3.4 Логічний AND
freq = 145.5
and — всі умови True = результат True. Хоча б одна False = результат False.3.5 Логічний OR
freq = 433.2
or — хоча б одна True = результат True. Всі False = результат False.3.6 Логічний NOT
status = "неактивний"not — інвертує True ↔ False.
3.7 Комбінація AND/OR
freq = 145.5Дужки визначають порядок. Спочатку дужки, потім and, потім or.
3.8 Перевірка входження (in)
freq = 145.54. КОД З КОМЕНТАРЯМИ
Практичний приклад: класифікація перехоплення за критеріями:
def класифікувати_перехоплення(freq, signal, callsign):5. РОЗБІР ПО РЯДКАХ
укх = freq >= 144 and freq <= 148 — зберігаємо результат умови у змінну
if callsign in пріоритетні and сильний — використовуємо змінну з булевим значенням
return — вихід з функції з значенням, решта коду не виконується
elif після return — виконається тільки якщо попередній if був False6. ЗАВДАННЯ 1: ЗНАЙТИ ПОМИЛКУ
Код не працює як очікується:
freq = 145.5Відповідь:
Треба повторити змінну у другій частині and
if freq > 144 and freq < 148:7. ЗАВДАННЯ 2: НАПИСАТИ УМОВУ
Напиши умову яка True коли:
- Сигнал > -50 dBm ТА частота у діапазоні 144-148 MHz
АБО сигнал > -40 dBm (незалежно від частоти)Рішення:
signal = -458. ЗАВДАННЯ 3: ФІЛЬТРАЦІЯ СПИСКУ
Маєш список перехоплень:
журнал = [Відфільтруй тільки сильні сигнали (> -50):
сильні = []9. ЗАВДАННЯ 4: СКЛАДНІ УМОВИ
Маєш функцію що перевіряє координати:
def чи_в_зоні(lat, lon):Можна скоротити:
def чи_в_зоні(lat, lon):10. РЕФЛЕКСІЯ
Я розумію if/elif/else
Я знаю and/or/not
Я вмію комбінувати складні умови
Я використовую дужки правильно
Я можу фільтрувати дані за умовами
11. ЩО ДАЛІ
Модуль 1.7: Цикли — автоматизація повторюваних дій
Головна думка: Умови = розгалуження. and = всі True. or = хоча б одна True. Дужки визначають порядок. Складні умови = комбінація простих.