Лабораторна робота 3
ЛАБОРАТОРНА РОБОТА №3
Тема: Модулі і пакети
Мета роботи:
Хід виконання роботи
1. Створити віртуальне оточення (ім'я оточення - прізвище студента). В цьому оточенні створити проект Python
2. Створити пакет, який складається з двох модулів. (Назви пакету і модулів на розсуд студента).
3. В файлі __init__.py задати наступні змінні:
NAME = “Text translation”
AUTHOR = “Прізвище та ім’я студента, група”
4. В першому модулі створити наступні функції, використав інструментарій пакету googletrans:
def TransLate(text : str, scr : str, dest : str) -> str:
Функція повертає текст перекладений на задану мову, або повідомлення про помилку.
- text – текст, який необхідно перекласти;
- scr – назва або код мови заданого тексту, відповідно до стандарту ISO-639, або значення ‘auto’;
- dest – назва або код мови на яку необхідно перевести заданий текст, відповідно до стандарту ISO-639
def LangDetect(text : str, set : str) -> str:
Функція визначає мову та коефіцієнт довіри для заданого тексту, або повертає повідомлення про помилку.
- text – текст для якого потрібно визначити мову та коефіцієнт довіри;
- set = “lang” – функція повертає тільки мову тексту
- set = “confidence” – функція повертає тільки коефіцієнт довіри
- set = “all” (по замовченню) – функція повертає мову і коефіцієнт довіри
def CodeLang(lang : str) -> str:
Функція повертає код мови (відповідно до таблиці), якщо в параметрі lang міститься назва мови, або повертає назву мови, якщо в параметрі lang міститься її код, або повідомлення про помилку
- lang – назва або код мови
def LanguageList(out : str, text : str) -> str:
Виводить в файл або на екран таблицю всіх мов, що підтримуються, та їх кодів, а також текст, перекладений на цю мову. Повертає ‘Ok’, якщо всі операції виконані, або повідомлення про помилку.
- out = “screen” (по замовченню) – вивести таблицю на екран
- out = “file” – вивести таблицю в файл. (Тип файлу на розсуд студента)
- text – текст, який необхідно перекласти. Якщо параметр відсутній, то відповідна колонка в таблиці також повинна бути відсутня.
Таблиця, яка виводиться на екран повинна бути відформатована, тобто мати назви стовбців,і стовбці вирівняні по лівому краю. Приклад роботи функції
LanguageList(“screen”, “Добрий день”)
5. В другому модулі створити вище наведені функції, використав інструментарій пакету deep_translator.
Для визначення мови можна використати пакет langdetect.
6. В кореневому каталозі проекту створити три файли: gtrans.py, deeptr.py, filetr.py.
В файлі gtrans.py написати програму, яка демонструє роботу функцій пакету з першого модуля.
7. В файлі deeptr.py написати програму, яка демонструє роботу функцій пакету з другого модуля.
8. В файлі filetr.py написати програму для перекладу тексту з файлу. Попередньо створив файл з текстом і конфігураційний файл. Всі файли повинні знаходитись в кореневому каталозі проекту.
Файл з текстом – текстовий файл з будь яким текстом, але не менше ніж 600 символів.
Конфігураційний файл. Тип файлу обирає студент.
В файлі повинна міститись наступна інформація:
- Назва файлу з текстом
- Назва або код мови, на яку необхідно перекласти текст
- Куди вивести результат (файл, або екран)
- Кількість символів (об’єм тексту)
- Кількість слів
- Кількість речень.
Робота програми:
I. Програма виводить назву файлу, яку вказано в конфігураційному файлі,
- розмір файлу,
- кількість символів,
- кількість слів,
- кількість речень (тексту, який міститься в файлі),
- мову тексу.
- Або повідомлення про відсутність файлу, або повідомлення про помилку.
II. Програма зчитує текст із файлу доки не виконається одна із умов:
- кінець файлу
- кількість символів перевищує вказану в конфігураційному файлі
- кількість слів перевищує вказану в конфігураційному файлі
- кількість речень перевищує вказану в конфігураційному файліIII. Програма робить переклад отриманого тексту на мову, яка вказана в конфігураційному файлі,
- використовуючи функції створеного пакету.
IV. Якщо в конфігураційному файлі вказано вивід на екран, програма виводить на екран назву мови, на яку робився переклад і сам перекладений текст, або повідомлення про помилку.
V. Якщо в конфігураційному файлі вказано вивід в файл, програма створює новий файл, додавши до назви вхідного файлу код мови, на яку робився переклад. Програма зберігає перекладений текст в створений файл. На екран виводить повідомлення “Ok”, якщо в процесі виконання не виникало помилок, або повідомлення про помилку.
9. Створити файл requirments.txt, в якому зберігаються всі встановлені модулі та пакети.
10. Завантажити проект на сервіс GitHub.
Форма подання результатів виконаної роботи: звіт в електронному форматі.
Звіт повинен містити:
- Титульний аркуш
- Текст завдання
- Код програм gtrans.py, deeptr.py, filetr.py
- Скріншоти виконання програм.
- Посилання на GitHub з проектом.
Критерії оцінювання:
Максимальна кількість балів - 10 балів, з них:
Опис та доведення - 10 балів.
Термін подання результатів - згідно календарного плану роботи.
- 3 вересня 2023, 23:19
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання