Skip to content

shilnikovAD/mipt_homeworks_2025

 
 

Repository files navigation

Team

Шильников Артур

Герега Михаил

Гурова Татьяна

Хмелёв Максим

MIPT Домашние работы 2025

Домашние работы для МФТИ по курсу python начиная с базовых знаний и до прод-сервиса.

Для работы - сделайте fork этого репозитория и работайте в своём репо. После того, как будете готовы сдавать работы - делайте PR в родительский репозиторий и ждите проверки.

Критерии приёмки: пайплайн с линтерами пройден, тесты (если они требуются) пройдены и вы поправили все замечания по ревью. Так же, смогли ответить на вопросы под PR.

Функции

Было принято решение пропустить, т.к. группы очень хорошо знают эту тему

OOP

У нас есть файл repositories.csv. В нём находится большое количество репозиториев с их параметрами. Нужно:

  1. Реализовать класс для чтения данных из этого файла (Либо с нуля, либо реализовать на основе встроенной библиотеки csv)
  2. Реализовать класс для выбора, сортировки и группировки данных.
    1. Класс исполняет операции после вызова определённого метода. Например .execute(). При этом операции исполняются в "оптимальном" порядке (оптимальность выбирается в соответствии со скоростью работы)
    2. Класс обрабатывает ошибки относительно переданных в методы данных. Например: если мы сортируем по несуществующему полю, то нужно выдать понятную ошибку о несуществующих полях и о возможных близких полях
  3. Реализовать класс пользователя, который может для себя сохранять выбранную сортировку, группировку и вызывать сохранённые "запросы". Т.е. пользователь может сохранять поля, по которым делаются различные запросы, а при вызове сохранённого избранного запроса, он формируется из полей и исполняется.
  4. Реализовать класс для вычисления разных статистик по полученным после запроса данным.
    1. Медиану по размеру репозитория
    2. Максимально залайканный (самое большое количество звёзд) репозиторий
    3. Репозитории без языка
    4. Репозитории с самым большим числом коммитов (топ-10)
    5. Статистики на ваш выбор
  5. Реализовать возможность сохранять вычисленные статистики в csv или json файл. Результирующий файл имеет формат матрицы: где каждая строка это имя группы и вычесленные статистики, а столбцы - название статистик

Тесты для этого этапа не нужны.

About

Homeworks for mipt python course: from base to production service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 95.4%
  • PowerShell 3.8%
  • Makefile 0.8%