М1. Основи Python¶
Від першої програми до власного консольного застосунку
Програма починається із задачі: порахувати виторг ресторану, обробити замовлення або реалізувати правила гри. У цьому модулі ти навчишся представляти такі задачі даними, описувати їхню обробку мовою Python та поступово збирати окремі рішення в завершену програму.
Працюватимемо з різними прикладами — від звіту кафе за днями до пошуку й хеш-таблиць. Наприкінці модуля ти поєднаєш вивчене у власному консольному застосунку.
Почати навчання Налаштувати середовище
Чого ти навчишся¶
- представляти інформацію числами, рядками та колекціями — списками, кортежами, множинами й словниками;
- описувати правила й повторювані дії через умови та цикли;
- організовувати код у функції та модулі;
- обирати спосіб пошуку й оцінювати, скільки роботи виконує твій код;
- обробляти помилки, читати й зберігати дані у файлах;
- зберігати історію змін і здавати роботу через GitHub.
Як проходити модуль¶
- Прочитай пояснення й розбери приклади на сторінці уроку.
- Відкрий ноутбук заняття (посилання й кнопка Colab — на сторінці уроку), передбач результат і лише потім запусти код.
- Зміни приклад і виконай самостійні завдання.
- Здай домашню роботу за інструкцією «Здача домашніх робіт».
GitHub використовуємо з початку навчання для здачі робіт; на окремому занятті докладніше розберемо історію змін, гілки й Pull Request.
Програма модуля¶
| № | Заняття | Чого навчишся |
|---|---|---|
| 1 | Вступ: формат курсу та правила роботи з AI | запускати клітинки Jupyter-ноутбука й перевіряти відповіді AI за правилами курсу |
| 2 | Перші кроки та перша програма | запускати .py-файл і керувати виводом print() через sep та end |
| 3 | Змінні та базові типи даних | відрізняти 42, 42.0 і "42" та свідомо перетворювати типи |
| 4 | Умови та цикли: як програма приймає рішення | будувати умови з and, or, not і повторювати дії циклом while |
| 5 | Списки, кортежі та множини | обирати між list, tuple і set залежно від задачі |
| 6 | Словники, цикл for і comprehensions |
підраховувати й групувати чеки кафе словником і будувати звіт за днями |
| 7 | Функції | розбити звіт кафе на функції з параметрами й return і перевірити, що результат не змінився |
| 8 | Практикум 1. Big O та базові задачі | оцінювати, як росте робота програми — O(1), O(n) чи O(n²) — дослідом подвоєння на задачах диспетчера таксі, FizzBuzz, паліндромах і шифрі Цезаря |
| 9 | Декоратори | додавати перевірку прав доступу до функцій декоратором, не змінюючи їхнього коду |
| 10 | Ітератори й генератори | обробляти нескінченний потік біржових угод конвеєром з генераторів, не тримаючи дані в пам'яті |
| 11 | Практикум 2. Пошук | обирати лінійний чи бінарний пошук, два вказівники або ковзне вікно за властивостями даних |
| 12 | Модулі та стандартна бібліотека | розкласти звіт кафе на модулі й запускати його з термінала: python main.py 2024 7, дати через datetime, підрахунок через Counter |
| 13 | Винятки та обробка помилок | приймати правильні чеки з каси, пропускати зіпсовані з поясненням: try / except, raise, читання трасування |
| 14 | Файли, менеджери контексту та JSON | прочитати місячний файл каси, зберегти звіт у JSON, помилки — у текстовий файл, запуски — у журнал; налаштування з cafe_config.json |
| 15 | Git і GitHub: репозиторій, Pull Request, портфоліо | командою з 4–6 людей зібрати проєкт з шести взаємозалежних задач: гілки, Pull Request, конфлікт, контракти й тести |
| 16 | Практикум 3. Хеш-структури | на невідсортованому журналі таксі знайти пару для ваучера, поїздку за номером і найпопулярніший маршрут через dict, set і Counter |
| 17 | Узагальнення модуля і фінальний проєкт | зібрати фінальний проєкт «Смачно + Таксі»: консольну систему доставки з шести модулів, стан у JSON, тести й Git |