egekit-study 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- egekit_study-1.0.0/LICENSE +21 -0
- egekit_study-1.0.0/PKG-INFO +132 -0
- egekit_study-1.0.0/README.md +122 -0
- egekit_study-1.0.0/egekit.py +1166 -0
- egekit_study-1.0.0/egekit_study.egg-info/PKG-INFO +132 -0
- egekit_study-1.0.0/egekit_study.egg-info/SOURCES.txt +9 -0
- egekit_study-1.0.0/egekit_study.egg-info/dependency_links.txt +1 -0
- egekit_study-1.0.0/egekit_study.egg-info/top_level.txt +1 -0
- egekit_study-1.0.0/pyproject.toml +14 -0
- egekit_study-1.0.0/setup.cfg +4 -0
- egekit_study-1.0.0/tests/test_egekit.py +253 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 EGEKit contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: egekit-study
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Алгоритмические инструменты для подготовки к ЕГЭ по информатике
|
|
5
|
+
License: MIT
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Dynamic: license-file
|
|
10
|
+
|
|
11
|
+
# EGEKit — библиотека для подготовки к ЕГЭ по информатике
|
|
12
|
+
|
|
13
|
+
Версия 1.0.0 · Python 3.10+ · 111 функций · внешние зависимости не нужны.
|
|
14
|
+
|
|
15
|
+
Библиотека охватывает темы всех 27 номеров: логика, базы данных, кодирование,
|
|
16
|
+
исполнители, комбинаторика, геометрия, сети, рекурсия, игры, строки,
|
|
17
|
+
числовые алгоритмы, сортировка, динамика, графы и кластеризация.
|
|
18
|
+
Это набор алгоритмов и шаблонов, а не автоматический решатель произвольного
|
|
19
|
+
русскоязычного условия. Для новой задачи нужно выбрать алгоритм, перенести
|
|
20
|
+
правила и ограничения в код. Гарантировать все возможные типы задач, включая
|
|
21
|
+
будущие, нельзя. Есть методы с ограничениями применимости и сложности —
|
|
22
|
+
они указаны у каждой функции в справочнике.
|
|
23
|
+
|
|
24
|
+
## Как начать на Windows
|
|
25
|
+
|
|
26
|
+
1. Распакуйте весь архив.
|
|
27
|
+
2. Откройте `GUIDE.html` в браузере: это справочник на русском с поиском,
|
|
28
|
+
фильтром по году и номеру, параметрами и примерами всех функций.
|
|
29
|
+
3. Рядом с `egekit.py` создайте файл `solution.py`:
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
import egekit as e
|
|
33
|
+
|
|
34
|
+
print(e.to_base(125, 3)) # 11122
|
|
35
|
+
print(e.divisors(12)) # [1, 2, 3, 4, 6, 12]
|
|
36
|
+
print(e.functions_for(13, year=2026))
|
|
37
|
+
help(e.count_programs)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
4. Откройте терминал в этой папке и выполните:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
python solution.py
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Если Windows использует команду `py`, замените `python` на `py`.
|
|
47
|
+
Не называйте свой файл `egekit.py`, иначе он закроет модуль библиотеки.
|
|
48
|
+
|
|
49
|
+
## Установка для других проектов
|
|
50
|
+
|
|
51
|
+
Для запуска из папки с `egekit.py` установка вообще не нужна.
|
|
52
|
+
Чтобы импортировать из других папок, установите библиотеку в нужное
|
|
53
|
+
виртуальное окружение из корня распакованного проекта:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
python -m pip install -e .
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Сам модуль использует только стандартную библиотеку Python.
|
|
60
|
+
Установка через pip может потребовать получения сборщика setuptools;
|
|
61
|
+
для полностью автономного использования просто положите `egekit.py`
|
|
62
|
+
рядом со своим решением. В PyPI библиотека не опубликована.
|
|
63
|
+
|
|
64
|
+
## Примеры по всем номерам
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
python examples.py
|
|
68
|
+
python examples.py 17
|
|
69
|
+
python examples.py --year 2027 23
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Вывод примеров относится к встроенным учебным данным, а не к ответам
|
|
73
|
+
на произвольный вариант ЕГЭ. Исходник каждого примера содержит пояснения.
|
|
74
|
+
|
|
75
|
+
## Различия 2026 / проект 2027
|
|
76
|
+
|
|
77
|
+
Основа: материалы ФИПИ, проверенные 18.10.2026.
|
|
78
|
+
В справочнике по умолчанию используется нумерация 2026.
|
|
79
|
+
|
|
80
|
+
| Номер | 2026 | Проект 2027 |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| 10 | Поиск в текстовом документе | Маски подсетей IPv4 |
|
|
83
|
+
| 13 | Маски подсетей IPv4 | Исполнители и количество программ |
|
|
84
|
+
| 23 | Исполнители и количество программ | Пути во взвешенном ориентированном графе |
|
|
85
|
+
| 27 | Анализ данных, в том числе кластеризация точек | Анализ данных; в демо — частицы и кинетическая энергия |
|
|
86
|
+
|
|
87
|
+
Остальные темы сохраняют номера. Пример из демоверсии не исчерпывает все
|
|
88
|
+
возможные формулировки. Старые задачи на остатки, выбор из групп и кольцевую
|
|
89
|
+
дорогу сохранены как дополнительные алгоритмы №27. `functions_for` возвращает
|
|
90
|
+
также связанные вспомогательные функции, а не перечень официальных подтипов.
|
|
91
|
+
|
|
92
|
+
## Что внутри
|
|
93
|
+
|
|
94
|
+
- `egekit.py` — вся библиотека, один переносимый файл.
|
|
95
|
+
- `GUIDE.html` — полный справочник с поиском, работает без интернета.
|
|
96
|
+
- `GUIDE.md` — тот же справочник текстом.
|
|
97
|
+
- `examples.py` — 27 учебных примеров и изменённые номера для 2027.
|
|
98
|
+
- `verify_official.py` — проверка на файлах демоверсии 2027, скачанных пользователем.
|
|
99
|
+
- `tests/test_egekit.py` — функциональные проверки и сравнение быстрых алгоритмов с полным перебором.
|
|
100
|
+
- `VALIDATION.md` — что проверено и какие ограничения остались.
|
|
101
|
+
|
|
102
|
+
## Важные правила работы
|
|
103
|
+
|
|
104
|
+
- `predicate` — функция проверки условия, часто записывается через `lambda`.
|
|
105
|
+
Например, `lambda n: n % 7 == 0` проверяет кратность 7.
|
|
106
|
+
- Все найденные ответы зависят от заданного диапазона. Перебор `range(1000)`
|
|
107
|
+
не доказывает утверждение для всех натуральных чисел.
|
|
108
|
+
- В Python `range(a,b)` не включает b; индексы массивов начинаются с 0.
|
|
109
|
+
- `None` в результатах означает, что подходящего решения нет.
|
|
110
|
+
- Для памяти различайте биты/байты и округление каждого объекта/всего потока;
|
|
111
|
+
килобайт/Кбайт обычно 1024 байта только если так определено в условии.
|
|
112
|
+
- Для игр различайте «существует неудачный ход» и «при любом ходе».
|
|
113
|
+
- Центр-медоид, среднее координат и медиана энергии — разные определения.
|
|
114
|
+
- Сложность O(n²) может быть неприемлемой для больших файлов; ограничения
|
|
115
|
+
и быстрые альтернативы указаны в справочнике.
|
|
116
|
+
- XLSX/ODS читаются по сохранённым значениям. Формулы библиотека не вычисляет.
|
|
117
|
+
|
|
118
|
+
Проверки:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
python -m unittest discover -s tests -v
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Официальные источники
|
|
125
|
+
|
|
126
|
+
- ФИПИ, демоверсии/спецификации/кодификаторы:
|
|
127
|
+
https://fipi.ru/ege/demoversii-specifikacii-kodifikatory
|
|
128
|
+
- Архив проекта по информатике 2027:
|
|
129
|
+
https://doc.fipi.ru/ege/demoversii-specifikacii-kodifikatory/2027/inf_11_2027.zip
|
|
130
|
+
|
|
131
|
+
Официальные PDF и исходные экзаменационные файлы в этот пакет не включены.
|
|
132
|
+
Это независимая учебная библиотека, не продукт ФИПИ.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# EGEKit — библиотека для подготовки к ЕГЭ по информатике
|
|
2
|
+
|
|
3
|
+
Версия 1.0.0 · Python 3.10+ · 111 функций · внешние зависимости не нужны.
|
|
4
|
+
|
|
5
|
+
Библиотека охватывает темы всех 27 номеров: логика, базы данных, кодирование,
|
|
6
|
+
исполнители, комбинаторика, геометрия, сети, рекурсия, игры, строки,
|
|
7
|
+
числовые алгоритмы, сортировка, динамика, графы и кластеризация.
|
|
8
|
+
Это набор алгоритмов и шаблонов, а не автоматический решатель произвольного
|
|
9
|
+
русскоязычного условия. Для новой задачи нужно выбрать алгоритм, перенести
|
|
10
|
+
правила и ограничения в код. Гарантировать все возможные типы задач, включая
|
|
11
|
+
будущие, нельзя. Есть методы с ограничениями применимости и сложности —
|
|
12
|
+
они указаны у каждой функции в справочнике.
|
|
13
|
+
|
|
14
|
+
## Как начать на Windows
|
|
15
|
+
|
|
16
|
+
1. Распакуйте весь архив.
|
|
17
|
+
2. Откройте `GUIDE.html` в браузере: это справочник на русском с поиском,
|
|
18
|
+
фильтром по году и номеру, параметрами и примерами всех функций.
|
|
19
|
+
3. Рядом с `egekit.py` создайте файл `solution.py`:
|
|
20
|
+
|
|
21
|
+
```python
|
|
22
|
+
import egekit as e
|
|
23
|
+
|
|
24
|
+
print(e.to_base(125, 3)) # 11122
|
|
25
|
+
print(e.divisors(12)) # [1, 2, 3, 4, 6, 12]
|
|
26
|
+
print(e.functions_for(13, year=2026))
|
|
27
|
+
help(e.count_programs)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
4. Откройте терминал в этой папке и выполните:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
python solution.py
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Если Windows использует команду `py`, замените `python` на `py`.
|
|
37
|
+
Не называйте свой файл `egekit.py`, иначе он закроет модуль библиотеки.
|
|
38
|
+
|
|
39
|
+
## Установка для других проектов
|
|
40
|
+
|
|
41
|
+
Для запуска из папки с `egekit.py` установка вообще не нужна.
|
|
42
|
+
Чтобы импортировать из других папок, установите библиотеку в нужное
|
|
43
|
+
виртуальное окружение из корня распакованного проекта:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
python -m pip install -e .
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Сам модуль использует только стандартную библиотеку Python.
|
|
50
|
+
Установка через pip может потребовать получения сборщика setuptools;
|
|
51
|
+
для полностью автономного использования просто положите `egekit.py`
|
|
52
|
+
рядом со своим решением. В PyPI библиотека не опубликована.
|
|
53
|
+
|
|
54
|
+
## Примеры по всем номерам
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
python examples.py
|
|
58
|
+
python examples.py 17
|
|
59
|
+
python examples.py --year 2027 23
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Вывод примеров относится к встроенным учебным данным, а не к ответам
|
|
63
|
+
на произвольный вариант ЕГЭ. Исходник каждого примера содержит пояснения.
|
|
64
|
+
|
|
65
|
+
## Различия 2026 / проект 2027
|
|
66
|
+
|
|
67
|
+
Основа: материалы ФИПИ, проверенные 18.10.2026.
|
|
68
|
+
В справочнике по умолчанию используется нумерация 2026.
|
|
69
|
+
|
|
70
|
+
| Номер | 2026 | Проект 2027 |
|
|
71
|
+
|---|---|---|
|
|
72
|
+
| 10 | Поиск в текстовом документе | Маски подсетей IPv4 |
|
|
73
|
+
| 13 | Маски подсетей IPv4 | Исполнители и количество программ |
|
|
74
|
+
| 23 | Исполнители и количество программ | Пути во взвешенном ориентированном графе |
|
|
75
|
+
| 27 | Анализ данных, в том числе кластеризация точек | Анализ данных; в демо — частицы и кинетическая энергия |
|
|
76
|
+
|
|
77
|
+
Остальные темы сохраняют номера. Пример из демоверсии не исчерпывает все
|
|
78
|
+
возможные формулировки. Старые задачи на остатки, выбор из групп и кольцевую
|
|
79
|
+
дорогу сохранены как дополнительные алгоритмы №27. `functions_for` возвращает
|
|
80
|
+
также связанные вспомогательные функции, а не перечень официальных подтипов.
|
|
81
|
+
|
|
82
|
+
## Что внутри
|
|
83
|
+
|
|
84
|
+
- `egekit.py` — вся библиотека, один переносимый файл.
|
|
85
|
+
- `GUIDE.html` — полный справочник с поиском, работает без интернета.
|
|
86
|
+
- `GUIDE.md` — тот же справочник текстом.
|
|
87
|
+
- `examples.py` — 27 учебных примеров и изменённые номера для 2027.
|
|
88
|
+
- `verify_official.py` — проверка на файлах демоверсии 2027, скачанных пользователем.
|
|
89
|
+
- `tests/test_egekit.py` — функциональные проверки и сравнение быстрых алгоритмов с полным перебором.
|
|
90
|
+
- `VALIDATION.md` — что проверено и какие ограничения остались.
|
|
91
|
+
|
|
92
|
+
## Важные правила работы
|
|
93
|
+
|
|
94
|
+
- `predicate` — функция проверки условия, часто записывается через `lambda`.
|
|
95
|
+
Например, `lambda n: n % 7 == 0` проверяет кратность 7.
|
|
96
|
+
- Все найденные ответы зависят от заданного диапазона. Перебор `range(1000)`
|
|
97
|
+
не доказывает утверждение для всех натуральных чисел.
|
|
98
|
+
- В Python `range(a,b)` не включает b; индексы массивов начинаются с 0.
|
|
99
|
+
- `None` в результатах означает, что подходящего решения нет.
|
|
100
|
+
- Для памяти различайте биты/байты и округление каждого объекта/всего потока;
|
|
101
|
+
килобайт/Кбайт обычно 1024 байта только если так определено в условии.
|
|
102
|
+
- Для игр различайте «существует неудачный ход» и «при любом ходе».
|
|
103
|
+
- Центр-медоид, среднее координат и медиана энергии — разные определения.
|
|
104
|
+
- Сложность O(n²) может быть неприемлемой для больших файлов; ограничения
|
|
105
|
+
и быстрые альтернативы указаны в справочнике.
|
|
106
|
+
- XLSX/ODS читаются по сохранённым значениям. Формулы библиотека не вычисляет.
|
|
107
|
+
|
|
108
|
+
Проверки:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
python -m unittest discover -s tests -v
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Официальные источники
|
|
115
|
+
|
|
116
|
+
- ФИПИ, демоверсии/спецификации/кодификаторы:
|
|
117
|
+
https://fipi.ru/ege/demoversii-specifikacii-kodifikatory
|
|
118
|
+
- Архив проекта по информатике 2027:
|
|
119
|
+
https://doc.fipi.ru/ege/demoversii-specifikacii-kodifikatory/2027/inf_11_2027.zip
|
|
120
|
+
|
|
121
|
+
Официальные PDF и исходные экзаменационные файлы в этот пакет не включены.
|
|
122
|
+
Это независимая учебная библиотека, не продукт ФИПИ.
|