Рубрики
Без рубрики

Casino_plus, простой способ создания равномерных и неравных случайных распределений

Casino_Plus – библиотека C ++ для создания как равномерных, так и неравных случайных распределений. Хорошее … помечено CPP, Python, RandomDistRibuters.

Casino_Plus это Библиотека C ++ Для создания как равномерных, так и неравных случайных распределений. Хорошая вещь в этой библиотеке есть, у него есть Привязки языка Python Кроме того, вы также можете использовать его в ваших проектах Python.

Эта библиотека имеет очень простой в использовании интерфейс для программистов Python, также это действительно быстро.

В этой статье я хочу показать вам, как использовать привязки Python этой библиотеки. Итак, давайте начнем

Установка

Процесс установки довольно прост. Вот требования:

  • Визуальные инструменты сборки C ++ 2017 или выше
  • Cmake версия 3.8 или выше

Вот GitHub Repo:

Amohammadi2/casino_plus.

Создать равномерное и неоднородное распределение

Сначала продолжайте и клонируйте репозиторий:

$ git clone https://github.com/Amohammadi2/Casino_plus.git

Тогда, CD В корневой каталог проекта вы можете найти файл setup.py. (Установка подтверждена на Python версии 3.8)

$ python setup.py install

Если у вас есть необходимые инструменты, установка завершится успешно.

Как это использовать

Вы должны импортировать модуль, прежде чем вы сможете использовать его, напишите следующий код в файле Python:

import CasinoPlus

Модуль содержит класс под названием Казинорандомгенератор Но из-за ограничений системы типа C ++ есть несколько префиксов, которые вы должны использовать на основе типа данных, которые вы хотите перейти к генератору.

  • S_: для генераторов, содержащих строки
  • CS_: для генераторов, содержащих символы
  • I_: для генераторов, содержащих ints
  • F_: для генераторов, содержащих поплавки
  • d_: для генераторов, содержащих двойников

Например, вы могли бы использовать: S_CASINORANDOMGENERATOR Чтобы создать генератор, который принимает строковые элементы

В то время поддерживаются только упомянутые выше типов. Мы постараемся улучшить его и сделать его более общим.

Добавление элементов к генератору

Чтобы добавить элементы к генератору, вы должны использовать один из методов Добавьте предмет или Add_sequence Отказ

  • add_item (item: item_type, вероятность: int) - > Никто : Добавляет один элемент для генератора с указанной вероятностью. Для равномерных распределений вероятность Может быть установлен на 1 для всех элементов, но если вы хотите создать неравные случайные распределения, вы можете изменить это значение. Например, если вы хотите, чтобы элемент появился чаще, вы можете увеличить вероятность. Вероятность не может быть отрицательным значением Отказ
  • add_sequence (элементы: список [кортеж [item_type, int]]) - > Никто : Можно добавить несколько предметов одновременно. Оптимально использовать эту функцию, когда вы хотите добавить несколько элементов на генератор.

Обратите внимание, что Item_type На самом деле тип данных, который использует генератор, например, если вы используете S_CASINORANDOMGENERATOR Тогда item_type будет ул ...| Отказ

Получение случайного предмета из генератора

Для того, чтобы получить случайный элемент, вы должны использовать get_random_item метод. Имеет следующую подпись:

get_random_item() -> Item_Type

пример

Вот пример программы, которая использует все функциональные возможности казиноплауса.

>>> from CasinoPlus import s_CasinoRandomGenerator as strgen
>>>
>>> rand = strgen()
>>> rand.add_item("Ashkan Mohammadi", 1)
>>> my_brothers = [["Arshia Mohammadi", 1], ["Ilia Mohammadi", 1]]
>>>
>>> rand.add_sequence(my_brothers)
>>> rand.get_random_item()
'Ilia Mohammadi'
>>> rand.get_random_item()
'Ashkan Mohammadi'
>>> rand.get_random_item()
'Arshia Mohammadi'

Оригинал: “https://dev.to/ashkanmohammadi/casinoplus-an-easy-way-to-create-uniform-and-non-uniform-random-distributions-2g28”