Програмування
для журналістів

«Програмування для журналістів» — це курс з 35 відеоуроків для медійників, які хочуть прокачати свою роботу за допомогою програмування.

Команда розслідувачів Nikcenter розкаже про базові речі, які автоматизують рутинні задачі журналістів. А також поділиться власним досвідом з розробки інструментів на мові Python, та як вони полегшують збір та аналіз інформації.

За 35 уроків ви навчитеся:
– автоматично збирати веб-дані,
– розпізнавати скановані документи PDF,
– обробляти зображення та відео за допомогою Python,
– працювати з форматами JSON і CSV, а також з API,
– інтегрувати АІ у власні проєкти.

Всі відеоуроки курсу будуть у відкритому доступі. Вони публікуватимуться на ютуб-каналі Nikcenter та на цьому розділі сайту.

Домашнє завдання

  • УРОК 14: Вбій зайвий пробіл

    Мета завдання:
    Навчитися писати Python-скрипт, який ефективно обробляє текст, видаляючи зайві пробіли та оптимізуючи форматування для подальшого використання в журналістських матеріалах.

    Завдання:

    • Створіть Python-скрипт, який виконує наступні дії з текстом:
    • Видаліть всі зайві пробіли на початку і в кінці тексту.
    • Замініть декілька послідовних пробілів всередині речень одним пробілом.
    • Видаліть усі пробіли перед знаками пунктуації, яким не передує слово (наприклад, перед крапкою або комою).
    • Забезпечте, щоб після кожної крапки, коми, знака питання або окличного знака йшов один пробіл, якщо за ними слідує текст.

    Вимоги до виконання:

    Ваш скрипт повинен бути написаний так, щоб його можна було застосувати до будь-якого тексту, який вводиться користувачем.
    Скрипт має виводити вихідний і оптимізований текст.
    Для реалізації скрипта використовуйте функції та методи обробки рядків у Python.

    Приклад:

    Вхідний текст:

    Це дуже важливо ,бо правильне форматування тексту впливає на його читабельність. Чи не так ?

    Очікуваний вихід:

    Це дуже важливо, бо правильне форматування тексту впливає на його читабельність. Чи не так?

    Додаткові завдання для бажаючих:

    • Розширте ваш скрипт таким чином, щоб він також міг видаляти додаткові порожні рядки між абзацами.
    • Додайте можливість запису оптимізованого тексту у файл для зберігання.
    • Це завдання допоможе вам покращити навички програмування на Python та навчитися технікам, які можуть бути корисними у вашій професійній діяльності як журналістам.

     

  • УРОК 13: Основи роботи з рядками

    Мета: Навчитися використовувати індекси, зрізи рядків, а також оператори in і not in для роботи з текстовими даними в Python.

    Опис завдання:

    Ви створите маленьку програму, яка дозволить користувачам вводити текст і дізнаватися про різні аспекти введеного рядка. Це включатиме виведення конкретних символів, частин рядка, а також перевірку на наявність чи відсутність певних символів.

    Кроки до виконання:

    • Запит тексту у користувача.
    • Створіть змінну, яка зчитує текст введений користувачем.
    • Виведення конкретного символу.
    • Виведіть п’ятий символ з введеного тексту. Перш ніж це зробити, переконайтеся, що текст містить достатньо символів.
    • Виведення частини рядка (зріз).
    • Покажіть користувачеві символи від другого до п’ятого. Знову ж таки, переконайтеся, що рядок достатньо довгий.
    • Перевірка на наявність символу.
    • Перевірте, чи містить рядок символ ‘a’ і повідомте про це користувача.
    • Перевірка на відсутність символу.
    • Перевірте, чи відсутній у рядку символ ‘z’, і якщо це так, повідомте про це.

    Результати:

    Виконавши ці кроки, ви зможете не тільки взаємодіяти з текстовими даними, але й зрозуміти, як програмування може допомогти в аналізі і обробці інформації. Це особливо корисно для журналістів, які працюють з текстовим контентом.

    Важливо: Не забудьте перевірити коректність введення перед тим, як здійснювати операції з рядками, щоб уникнути помилок у вашому коді.

  • Урок 12: Аналіз частоти використання букв у тексті

    Напишіть програму на Python, яка аналізує частоту букві у тексті новин.

    Підказки:

    Використовуйте словник для зберігання букви та його частоти.

    Використовуйте цикли для обходу тексту та обрахунку частоти кожної букви.

    Не використовуйте метод setdefault(), якій ми показували на уроці

    Відстортируйте результат по частоті використання букви (опціонально).

    Відповіді на завдання надсилайте на пошту: python4jour@nikcenter.org

  • Урок 11: Аналіз зв’язків між особами в новинах

    Мета: Створити програму для аналізу та зберігання зв’язків між персонами, згаданими в різних новинах. Це допоможе виявити потенційні взаємозв’язки між особами в різних подіях або новинах.

    Основні вимоги до програми:

    1. Зберігання даних про новини: Створи словник, де ключами будуть назви новин або короткі описи, а значеннями – списки осіб, які згадуються в кожній новині.

    Приклад структури даних:

    news_data = {“Новина 1”: [“Персона А”, “Персона Б”],”Новина 2″: [“Персона А”, “Персона В”, “Персона Г”]}

    2. Додавання нової новини: Напиши функцію для додавання нової новини та пов’язаних з нею осіб до існуючого словника.

    3. Аналіз зв’язків між персонами: Напиши функцію, яка аналізує словник новин і створює новий словник, де ключами будуть імена персон, а значеннями – списки інших персон, з якими вони згадуються разом у новинах.

    У результаті виконання цієї функції рограма має згенерувати:

    person_connections = {
    “Персона А”: [“Персона Б”, “Персона В”, “Персона Г”],
    “Персона Б”: [“Персона А”],
    “Персона В”: [“Персона А”, “Персона Г”],
    “Персона Г”: [“Персона А”, “Персона В”]
    }

    4. Виведення інформації про зв’язки між персонами. Напиши функцію, яка виведе на екран наступну інформацію: Ім’я особи і з ким вона найчастіше згадується в новинах.

    Це завдання допоможе тобі не тільки практикуватися у роботі зі словниками, списками та функціями в Python, але й навчити аналізувати зв’язки між даними, що може бути особливо корисним для журналістської роботи. Воно забезпечує основу для розвитку складніших інструментів аналізу даних.
    Відповіді на завдання надсилайте на пошту: python4jour@nikcenter.org

Підпишіться на нові уроки

Підпишіться на останні новини

Використання матеріалів сайту дозволено лише за умови посилання (для електронних видань - гіперпосилання) на сайт NIKCENTER.


Copyright © 2012-2024. NIKCENTER