Skip to content

Commit e5f639c

Browse files
authored
docs: editing the main paragraph + refactor of the section with the main features
Updated library description and features in README.md.
1 parent 71205e7 commit e5f639c

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

README.md

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,26 @@
88

99
</div>
1010

11-
**PyCustomRand** — это Python-библиотека для генерации **псевдослучайных чисел**, основанная на алгоритме, использующем системное время с наносекундной точностью (time-based).
12-
Проект также включает в себя кастомную реализацию математического (а не банковского) округления.
11+
**PyCustomRand** — это Python-библиотека для генерации **псевдослучайных чисел**, основанная на алгоритме, использующем системное время с наносекундной точностью и линейный конгруэнтный метод.
1312

14-
Это авторский проект создан для изучения алгоритмов и альтернативных подходов к генерации случайных чисел.
13+
Этот авторский проект создан для изучения алгоритмов и альтернативных подходов к генерации случайных чисел и их округлении.
1514
Меня не устраивало, что модуль `random` в Python генерирует недостаточно случайные числа ( *особенно при нескольких последовательных генерациях* ), а встроенный в Python модуль `round` довольно "грубо" округляет числа ( *`round(1.5)` = 2 и в то же время `round(2.5)` = 2* ), поэтому я решил написать *свою* библиотеку для генерации псевдослучайных чисел — более простую и с наибольшей энтропией.
1615

1716
> [!WARNING]
1817
> PyCustomRand **не является** криптографически стойкой библиотекой и **не предназначена** для использования в системах безопасности!
1918
> Используйте [secrets](https://docs.python.org/3/library/secrets.html#module-secrets) модуль.
2019
21-
## Основные возможности
22-
Практически все функции PyCustomRand основаны на [оригинальной](https://docs.python.org/3/library/random.html) Python-библиотеке для генерации псевдослучайных чисел:
23-
* Генерация случайных целых чисел заданной длины;
24-
* Генерация случайных чисел с плавающей точкой в диапазоне `[0, 1)`;
25-
* Генерация случайных чисел с плавающей точкой, распределёнными по математическим законам;
26-
* Выбор случайного элемента из списка;
27-
* Выборка случайных элементов из списка;
28-
* Перемешивание списка;
29-
* Вспомогательные функции - генерация случайного цвета, случайного uuid4, случайного bool;
30-
* А также: округление кастомной функцией `true_round`.
31-
32-
и т.д.
20+
## ✨ Основные возможности библиотеки
21+
* 🕰 Собственная реализация генератора псевдослучайных чисел: уникальный алгоритм, использующий системное время с точностью до наносекунд + линейный конгруэнтный метод.
22+
* 🎯 Наличие честного округления (`true_round`): функция округляет числа привычным математическим способом (0.5 всегда вверх по модулю), а также исправляет погрешности плавающей точки (например, "проблему 2.675").
23+
* 🔢 Имеется полный набор функций для работы с числами и последовательностями, основанных на [оригинальной](https://docs.python.org/3/library/random.html) Python-библиотеке:
24+
* Генерация целых чисел (`random_integer`, `randrange`, `gen_random_number`).
25+
* Генерация вещественных чисел (`random`, `random_float`).
26+
* Поддержка статистических распределений: Нормальное (Гаусс), Треугольное, Экспоненциальное, Биномиальное.
27+
* Инструменты для последовательностей: выбор случайного элемента (`choice`), выборка с весами (`choices`), перемешивание (`shuffle`) и выборка уникальных элементов (`sample`).
28+
* 🛠 Присутствуют готовые утилиты для разработчиков: генерация UUID v4, генерация случайных HEX-цветов (например, `#ff05a1`), генерация случайных байт (`random_bytes`), случайные булевы значения (`True`/`False`) с настраиваемым шансом.
29+
* 📦 Zero-Dependency: библиотека написана на чистом Python и не требует установки сторонних зависимостей. Работает везде, где есть Python.
30+
* ✅ Надёжность: код покрыт unit-тестами, а встроенный модуль диагностики (`check_distribution`) позволяет в любой момент проверить равномерность распределения генератора.
3331

3432
## Установка
3533
Библиотека поддерживает установку через `pip`:

0 commit comments

Comments
 (0)