Программирование python

Отменен
Заказ
5941357
Раздел
Программирование
Антиплагиат
Не указан
Срок сдачи
16 Мар 2024 в 19:00
Цена
400 ₽
Блокировка
10 дней
Размещен
15 Мар 2024 в 21:17
Просмотров
120
Описание работы
Решение на pythonЗадача 1 - Необходимо использовать ООП и объекты для решения этой задачи.

Кинотеатр "Сокол" запустил сервис для онлайн-просмотра фильмов. За несколько месяцев работы сервиса накопилась история просмотров разными пользователями и владельцы решили внедрить в него систему рекомендаций, которая предлагала бы пользователям интересный фильм на основе их истории просмотров.

У вас есть два файла, которые нужно добавить в свой репозиторий:

  1. Список доступных фильмов. Где каждая строка содержит числовой идентификатор фильма и его название, разделенные запятой.

Например:

1,Мстители: Финал

2,Хатико

3,Дюна

4,Унесенные призраками

  1. История просмотров по всем пользователям сервиса. Каждая строка файла содержит список идентификаторов фильмов, просмотренных одним человеком за все время пользования сервисом. Идентификаторы разделены запятыми. Например:

2,1,3

1,4,3

2,2,2,2,2,3

На основе этих данных реализуйте алгоритм рекомендаций, который бы для списка просмотров конкретного пользователя рекомендовал следующий фильм.

Алгоритм выбора рекомендации:

  1. Для просмотров пользователя из историй по всем пользователям выбираются те, у которых хотя бы половина фильмов совпадает с заданной. (То есть, выбираются все пользователи, которые посмотрели минимум половину фильмов пользователя, для которого формируется рекомендация.)
  2. Из отобранных списков исключаются все, которые пользователь уже посмотрел.
  3. Для оставшегося списка фильмов подсчитывается суммарное количество просмотров среди всех пользователей сервиса и фильм с максимальным числом просмотров выбирается как рекомендация (если таких фильмов оказалось несколько, выбирается любой из них).

Список просмотров текущего пользователя задается через пользовательский ввод, рекомендация выдается в виде названия фильма в System.out. Пути к файлам с названиями фильмов и истории просмотров пользователей сервиса могут быть определены в виде констант в приложении.

Пример

[in]

2,4

[out]

Дюна

Задача 2 - Необходимо использовать ООП и объекты для решения этой задачи.

Ваша команда разрабатывает приложение для проведения социологических опросов. Вы работаете над модулем разбивки респондентов по возрастным группам. При этом модуль вы реализуете в виде отдельного Python-приложения, работающего со стандартными потоками ввода-вывода. На вход оно принимает список участников опроса в текстовом виде, на выходе выдает их разбивку по группам возрастов.

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

Пример

18 25 35 45 60 80 100

Эта последовательность определяет возрастные группы: от 0 до 18 лет, от 19 до 25 лет, от 26 до 35 лет и так далее. Последняя группа: от 101 года и старше.

Входные данные (список респондентов) задаются в виде строк:

,

Строка END сигнализирует об окончании списка.

Выходные данные (разбивка по возрастным группам) представлены как последовательность строк следующего формата:

: (возраст_1), (возраст_2), …, (возраст_N)

При этом:

  • группы строк перечисляются в порядке от старшей к младшей
  • в каждой группе перечисляются только респонденты, попадающие в нее по возрасту
  • список респондентов в каждой группе отсортирован по возрасту в порядке убывания, если возраст совпадает - по ФИО в порядке возрастания
  • если в возрастную группу не попадает ни один из респондентов, строка с этой группой не выводится

Пример

101+: Кошельков Захар Брониславович (105)

81-100: Дьячков Нисон Иринеевич (88), Иванов Варлам Якунович (88)

46-60: Старостин Ростислав Ермолаевич (50)

26-35: Ярилова Розалия Трофимовна (29)

0-18: Соколов Андрей Сергеевич (15), Егоров Алан Петрович (7)

При реализации можно учитывать, что:

  • нет людей старше 123 лет
  • в рамках одного опроса не может встретиться полных однофамильцев с одинаковыми возрастами

Реализуйте приложение. При этом постарайтесь продумать структуру данных и использовать коллекции, максимально подходящие для поставленных целей.

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.53
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир