DragonROM
СтатистикаКанал, посвященный прошивкам, играм, технике и многому другому. Чат: https://t.me/DragonROMCHAT Владелец: @DragoPayras и @DeriXrace
- Последний пост
- 13 авг.
- Последнее чтение
- 15 авг.
- Постов за неделю
- 5
- Всего постов
- 24
- Тип
- открытый
- Язык
- ceb
- Категория
- Игры (по похожим)
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- 44
- 1/48двое суток
- 50
- 1/72трое суток
- 54
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Вега воскресла, она ещё ваших матерей переживёт, падлы)
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
У меня видюха сдохла
видео или голосовое, без подписи
Игровой сетап для 8Gen3
Казахи (если имеются) поздравьте меня с получением прав
видео или голосовое, без подписи
видео или голосовое, без подписи
УРААААА БЛЯТЬ Я КОНЧИЛ
видео или голосовое, без подписи
видео или голосовое, без подписи
Насрал блять
Ура, пост от драго
for student in aggregated: for app in student['applications']: direction = app['direction'] if places_remaining[direction] > 0: enrolled[student['code']] = direction direction_scores[direction].append(student['score']) enrolled_details[direction].append((student['code'], student['score'])) places_remaining[direction] -= 1 break # ---------- АНАЛИТИКА И ВЫВОД ---------- print("\n📊 ИТОГОВЫЕ ПРОХОДНЫЕ БАЛЛЫ (с учетом приоритетов):") for direction in PLACES: scores = direction_scores[direction] place_count = PLACES[direction] if scores: min_score = min(scores) filled_percent = (len(scores) / place_count) * 100 print(f" {direction}: {min_score} балл(ов) | Заполнено: {len(scores)}/{place_count} ({filled_percent:.1f}%)") else: print(f" {direction}: Мест не заполнено (0/{place_count})") not_enrolled = len(aggregated) - len(enrolled) print(f"\n👤 Всего уникальных абитуриентов с оригиналами: {len(aggregated)}") print(f"✅ Проходят на бюджет: {len(enrolled)}") print(f"❌ Не проходят: {not_enrolled}") print("\n🔍 ПОГРАНИЧНЫЕ ЗНАЧЕНИЯ (последние 5 мест в приказах):") for direction, details in enrolled_details.items(): if details: details_sorted = sorted(details, key=lambda x: x[1], reverse=True) print(f"\n {direction}:") for code, score in details_sorted[-5:]: print(f" Код: {code} -> {score} баллов") "
Тем временем чем занят владелец: "import csv import os from collections import defaultdict # ---------- НАСТРОЙКИ ---------- PLACES = { 'Информационная безопасность телекоммуникационных систем': 58, 'Инфокоммуникационные технологии и системы связи': 150, 'Фундаментальная информатика и информационные технологии': 40, 'Информационные системы и технологии': 45, 'Информатика и вычислительная техника': 205, } FILES = { 'Информационная безопасность телекоммуникационных систем': 'Информационная_безопасность телекоммуникационных систем.2026-07-22_17-15-08 (1).txt', 'Инфокоммуникационные технологии и системы связи': 'Инфокоммуникационные_технологии и системы связи.2026-07-22_17-15-26.txt', 'Фундаментальная информатика и информационные технологии': 'Фундаментальная_информатика и информационные технологии.2026-07-22_17-17-16.txt', 'Информационные системы и технологии': 'Информационные_системы и технологии.2026-07-22_17-16-02.txt', 'Информатика и вычислительная техника': 'Информатика_и вычислительная техника.2026-07-22_17-16-44.txt', } DOWNLOAD_DIR = os.path.expanduser("~/storage/downloads") # ---------- ФУНКЦИИ ---------- def read_csv_safe(filepath): """Чтение файла с автоматическим перебором кодировок.""" for enc in ('utf-8', 'windows-1251', 'cp1251'): try: with open(filepath, 'r', encoding=enc) as f: reader = csv.DictReader(f, delimiter=';') return list(reader) except UnicodeDecodeError: continue raise ValueError(f"Не удалось подобрать кодировку для {filepath}") # ---------- ЗАГРУЗКА И ФИЛЬТРАЦИЯ ---------- applications = [] print("⏳ Загрузка данных...") for direction, filename in FILES.items(): filepath = os.path.join(DOWNLOAD_DIR, filename) if not os.path.exists(filepath): print(f"⚠️ Файл не найден: {filepath}") continue try: rows = read_csv_safe(filepath) for row in rows: if row.get('Подано согласие', '') not in ('Электронное', 'Бумажное'): continue status = row.get('Статус', '') if status not in ('Участвуете в конкурсе', 'Передано в вуз'): continue code = row.get('Код поступающего', '').strip() score_str = row.get('Сумма баллов', '').strip() if not code or not score_str: continue try: priority = int(row.get('Приоритет конкурса', 0)) score = int(score_str) except ValueError: continue if score <= 0: continue applications.append({ 'code': code, 'score': score, 'direction': direction, 'priority': priority, 'status': status }) except Exception as e: print(f"❌ Ошибка при чтении {filename}: {e}") print(f"✅ Успешно загружено {len(applications)} заявлений от абитуриентов с оригиналами.") # ---------- ГРУППИРОВКА И РАНЖИРОВАНИЕ ---------- students = defaultdict(list) for app in applications: students[app['code']].append(app) aggregated = [] for code, apps in students.items(): # Сортируем заявки абитуриента по приоритету (1 - самый высокий) apps_sorted = sorted(apps, key=lambda x: x['priority']) # Берем максимальный балл среди всех направлений (в случае разного учета ИД) max_score = max(a['score'] for a in apps) aggregated.append({ 'code': code, 'score': max_score, 'applications': apps_sorted }) # Сортировка по баллам (по убыванию). aggregated.sort(key=lambda x: x['score'], reverse=True) # ---------- МОДЕЛИРОВАНИЕ ЗАЧИСЛЕНИЯ ---------- places_remaining = PLACES.copy() enrolled = {} direction_scores = {d: [] for d in PLACES} enrolled_details = {d: [] for d in PLACES} print("\n🔄 Выполнение сквозного распределения...")
Могу теперь газель и машину водить
Мужики, поздравьте
видео или голосовое, без подписи