Модуль 1.6 Базовий синтаксис

УМОВИ ТА ЛОГІКА

Курс: 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 = -62

3.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.5

4. КОД З КОМЕНТАРЯМИ

Практичний приклад: класифікація перехоплення за критеріями:

def класифікувати_перехоплення(freq, signal, callsign):

5. РОЗБІР ПО РЯДКАХ

укх = freq >= 144 and freq <= 148 — зберігаємо результат умови у змінну
if callsign in пріоритетні and сильний — використовуємо змінну з булевим значенням
return — вихід з функції з значенням, решта коду не виконується
elif після return — виконається тільки якщо попередній if був False

6. ЗАВДАННЯ 1: ЗНАЙТИ ПОМИЛКУ

Код не працює як очікується:

freq = 145.5

Відповідь:

Треба повторити змінну у другій частині and

if freq > 144 and freq < 148:

7. ЗАВДАННЯ 2: НАПИСАТИ УМОВУ

Напиши умову яка True коли:

  • Сигнал > -50 dBm ТА частота у діапазоні 144-148 MHz
АБО сигнал > -40 dBm (незалежно від частоти)

Рішення:

signal = -45

8. ЗАВДАННЯ 3: ФІЛЬТРАЦІЯ СПИСКУ

Маєш список перехоплень:

журнал = [

Відфільтруй тільки сильні сигнали (> -50):

сильні = []

9. ЗАВДАННЯ 4: СКЛАДНІ УМОВИ

Маєш функцію що перевіряє координати:

def чи_в_зоні(lat, lon):

Можна скоротити:

def чи_в_зоні(lat, lon):

10. РЕФЛЕКСІЯ

Я розумію if/elif/else

Я знаю and/or/not

Я вмію комбінувати складні умови

Я використовую дужки правильно

Я можу фільтрувати дані за умовами

11. ЩО ДАЛІ

Модуль 1.7: Цикли — автоматизація повторюваних дій

Головна думка: Умови = розгалуження. and = всі True. or = хоча б одна True. Дужки визначають порядок. Складні умови = комбінація простих.

Рефлексія

Прогрес модуля 0%