-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Gennadii Kandaurov
committed
Sep 16, 2024
1 parent
1efaf2c
commit fc979b1
Showing
3 changed files
with
71 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,17 @@ | ||
# deep_python_autumn_2024 | ||
Материалы открытого курса Углубленный Python от VK Education, осень 2024 | ||
|
||
## Лекции и материалы (слайды, домашки, код с занятий) | ||
01. [Введение, типы данных, управляющие конструкции, тестирование](lesson-01) | ||
|
||
|
||
## FAQ | ||
* Обязательно ли соблюдение правил оформления репозитория с домашками, как указано в приветственном посте на портале? | ||
> Да. | ||
* Как работает мягкий дедлайн? | ||
> Если отправить домашку на проверку до наступления мягкого дедлайна по этой домашке, то можно получить полный балл (7). Более того, вторая и третья попытки, отправленные даже после дедлайна, уже штрафоваться не будут. | ||
* Как отправлять вторую и третью попытки сдачи ДЗ? | ||
> Обязательно нужно переотправить через портал, как это выполнялось с первой попыткой. Можно дополнить комментарием в обсуждении, но коментарий не является обязательным. Только комментария недостаточно, тк если случайно его просмотреть, портал будет считать эту домашку проверенной и проверка правок по ней может сильно отсрочиться. | ||
* Списывать нельзя? | ||
> **Списывать нельзя**, но использовать различные ресурсы для подготовки можно. За списывание штраф 3 балла и попытка сдачи данной домашки, то есть можно будет пересдать списанную домашку только с одной попыткой. За повторное списывание студент отчисляется с курса. | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# Домашнее задание #01 (введение, тестирование) | ||
|
||
### 1. Функция оценки сообщения | ||
Реализовать функцию `predict_message_mood`, которая принимает на вход строку `message` и пороги хорошести. | ||
Функция возвращает: | ||
- "неуд", если предсказание модели меньше `bad_threshold`; | ||
- "отл", если предсказание модели больше `good_threshold`; | ||
- "норм" в остальных случаях. | ||
|
||
Функция `predict_message_mood` создает экземпляр класса `SomeModel` и вызывает у этого экземпляра метод `predict` с аргументом `message`. | ||
|
||
```py | ||
class SomeModel: | ||
def predict(self, message: str) -> float: | ||
# реализация не важна | ||
|
||
|
||
def predict_message_mood( | ||
message: str, | ||
bad_thresholds: float = 0.3, | ||
good_thresholds: float = 0.8, | ||
) -> str: | ||
... | ||
model.predict() | ||
... | ||
|
||
|
||
assert predict_message_mood("Чапаев и пустота") == "отл" | ||
assert predict_message_mood("Чапаев и пустота", 0.8, 0.99) == "норм" | ||
assert predict_message_mood("Вулкан") == "неуд" | ||
``` | ||
|
||
### 2. Генератор для чтения и фильтрации файла | ||
Есть текстовый файл, который может не помещаться в память. | ||
В каждой строке файла фраза или предложение: набор слов, разделенных пробелами (знаков препинания нет). | ||
|
||
Генератор должен принимать на вход: | ||
- имя файла или файловый объект; | ||
- список слов для поиска; | ||
- список стоп-слов. | ||
|
||
Генератор перебирает строки файла и возвращает только те из них (строку целиком), где встретилось хотя бы одно из слов для поиска. | ||
Если в одной строке сразу несколько совпадений, то вернуть строку надо лишь один раз. | ||
Если в строке встретилось слово из списка стоп-слов, то такая строка должна игнорирроваться, даже если там есть совпадения по словам поиска. | ||
Поиск совпадений и стоп-слов должен выполняться по полному совпадению слова без учета регистра. | ||
|
||
Например, для строки из файла "а Роза упала на лапу Азора" слово поиска "роза" должно найтись, а "роз" или "розан" - уже нет. | ||
В случае той же строки "а Роза упала на лапу Азора", слова-совпадения "роза" и стоп-слова "азора" исходная строка должна будет быть отброщена. | ||
|
||
### 3. Тесты в отдельном модуле для каждого пункта | ||
|
||
### 4. Перед отправкой на проверку код должен быть прогнан через flake8 и pylint, по желанию еще black | ||
|
||
### 5. Покрытие тестов через coverage, отчет в репу | ||
|
||
### 6. Зеленый пайплайн |
Binary file not shown.