/
BelgradeGambit
/
CLP
Обзор
Документация
Войти
/
BelgradeGambit
/
CLP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
server/src/internal/admin.py
38 строк
1 KB
SaintTonka
GL
08 янв 2025, 20:21
08 янв 2025, 20:21
323a25c
Код
Авторство
О чём код?
import math AVG_STUD = 20 def balance_foo(students, instructors): if not students or not instructors: return { "expected_groups": 0, "avg_students_per_group": 0, "instructor_groups": [], "group_students": {} } A = math.ceil(len(students) / AVG_STUD) B = min(len(students), len(instructors)) expected_groups = max(A, B) avg_students_per_group = len(students) // expected_groups instructor_groups = [[] for _ in range(len(instructors))] group_students = {i: [] for i in range(expected_groups)} # Распределение студентов по группам for idx, student in enumerate(students): group_id = idx % expected_groups group_students[group_id].append(student["student_id"]) # Распределение групп по преподавателям for idx, group_id in enumerate(group_students.keys()): instructor_idx = idx % len(instructors) instructor_groups[instructor_idx].append(group_id) return { "expected_groups": expected_groups, "avg_students_per_group": avg_students_per_group, "instructor_groups": instructor_groups, "group_students": group_students }