JustCaptain kod-buduschego
llm/change-52ed52
Перейти к файлу
Код
task_1.py
"""
Задача 1. Самая популярная AI-модель
Напиши функцию: def Найти модель, которая использовалась чаще всего.
"""

from dataclasses import dataclass


@dataclass
class Request:
    user: str
    model: str


requests_dict = [
    {"user": "alex", "model": "gpt-5"},
    {"user": "kate", "model": "claude"},
    {"user": "bob", "model": "gpt-5"},
    {"user": "max", "model": "gemini"},
    {"user": "anna", "model": "gpt-5"},
    {"user": "ivan", "model": "claude"},
    {"user": "alex", "model": "gpt-5"},
    {"user": "kate", "model": "gemini"},
    {"user": "bob", "model": "gpt-5"},
    {"user": "max", "model": "claude"},
    {"user": "anna", "model": "claude"},
    {"user": "ivan", "model": "gpt-5"},
    {"user": "alex", "model": "gpt-5"},
    {"user": "kate", "model": "gpt-5"},
    {"user": "bob", "model": "gemini"},
]


def create_data(requests_dict: list[dict]) -> list[Request]:
    result: list[Request] = []
    for req in requests_dict:
        if req.get("user") and req.get("model"):
            request = Request(user=req["user"], model=req["model"])
            result.append(request)
    return result


def most_popular_model(requests: list[Request]) -> str:
    data: dict[str, int] = {}
    for request in requests:
        if data.get(request.model) is None:
            data[request.model] = 1
        else:
            data[request.model] += 1
    model_name: str = ""
    model_count: int = 0
    for model, count in data.items():
        if count > model_count:
            model_name = model
            model_count = count
    return model_name


requests = create_data(requests_dict=requests_dict)

print(most_popular_model(requests=requests))