Система управления и анализа транзакций интернет-банка #1

Open
opened 2026-04-04 10:40:42 +00:00 by stud204002 · 0 comments
Owner

load_transactions(filepath: str) -> list[dict]
Загружает транзакции из JSON-файла. Если файл не найден или поврежден, возвращает пустой список. При ошибке парсинга отдельных записей пропускает их с выводом предупреждения в stderr. (Работа с файлами, обработка исключений)

filter_by_category(transactions: list[dict], categories: list[str]) -> list[dict]
Возвращает транзакции, категория которых входит в переданный список категорий (регистронезависимо). (Фильтрация списков, строки)

filter_by_amount_range(transactions: list[dict], min_amount: float, max_amount: float) -> list[dict]
Возвращает транзакции с суммой в диапазоне [min_amount, max_amount] (включительно). (Числовые сравнения)

filter_fraud_transactions(transactions: list[dict]) -> list[dict]
Возвращает список транзакций, помеченных как мошеннические (is_fraud == True). Сортирует результат по убыванию суммы. (Фильтрация, сортировка)

calculate_user_spending(transactions: list[dict], user_id: int) -> dict[str, float]
Для указанного пользователя возвращает словарь с суммой трат по каждой категории. Учитываются только неподозрительные транзакции (is_fraud == False). (Агрегация данных, группировка по словарю)

get_top_categories(transactions: list[dict], n: int) -> list[tuple[str, float]]
Анализирует все транзакции (без учета флага мошенничества) и возвращает топ-n категорий по общей сумме трат в формате [(категория, сумма), ...]. (Словари-счетчики, сортировка)

detect_unusual_activity(transactions: list[dict], user_id: int, threshold: float) -> list[dict]
Для указанного пользователя возвращает список транзакций, сумма которых превышает среднюю сумму его транзакций умноженную на threshold. Если у пользователя менее 3 транзакций, возвращает пустой список. (Статистика, среднее арифметическое, работа с числами)

group_by_day(transactions: list[dict]) -> dict[str, dict]
Группирует транзакции по дням (формат "YYYY-MM-DD"). Для каждого дня возвращает словарь с ключами:

total_amount — общая сумма

transaction_count — количество транзакций

avg_amount — средняя сумма

load_transactions(filepath: str) -> list[dict] Загружает транзакции из JSON-файла. Если файл не найден или поврежден, возвращает пустой список. При ошибке парсинга отдельных записей пропускает их с выводом предупреждения в stderr. (Работа с файлами, обработка исключений) filter_by_category(transactions: list[dict], categories: list[str]) -> list[dict] Возвращает транзакции, категория которых входит в переданный список категорий (регистронезависимо). (Фильтрация списков, строки) filter_by_amount_range(transactions: list[dict], min_amount: float, max_amount: float) -> list[dict] Возвращает транзакции с суммой в диапазоне [min_amount, max_amount] (включительно). (Числовые сравнения) filter_fraud_transactions(transactions: list[dict]) -> list[dict] Возвращает список транзакций, помеченных как мошеннические (is_fraud == True). Сортирует результат по убыванию суммы. (Фильтрация, сортировка) calculate_user_spending(transactions: list[dict], user_id: int) -> dict[str, float] Для указанного пользователя возвращает словарь с суммой трат по каждой категории. Учитываются только неподозрительные транзакции (is_fraud == False). (Агрегация данных, группировка по словарю) get_top_categories(transactions: list[dict], n: int) -> list[tuple[str, float]] Анализирует все транзакции (без учета флага мошенничества) и возвращает топ-n категорий по общей сумме трат в формате [(категория, сумма), ...]. (Словари-счетчики, сортировка) detect_unusual_activity(transactions: list[dict], user_id: int, threshold: float) -> list[dict] Для указанного пользователя возвращает список транзакций, сумма которых превышает среднюю сумму его транзакций умноженную на threshold. Если у пользователя менее 3 транзакций, возвращает пустой список. (Статистика, среднее арифметическое, работа с числами) group_by_day(transactions: list[dict]) -> dict[str, dict] Группирует транзакции по дням (формат "YYYY-MM-DD"). Для каждого дня возвращает словарь с ключами: total_amount — общая сумма transaction_count — количество транзакций avg_amount — средняя сумма
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stud204002/practika2#1
No description provided.