Números aleatorios al estilo random.org

imagen / S. Alexis - flickr
  
31 de Agosto de 2015   0  

Creo que todos hemos utilizado alguna vez los servicios que Random.org ofrece, generalmente para obtener de forma aleatoria elementos con diferentes propósitos tales como sorteos en redes sociales, o simplemente para decidir alguna actividad con nuestros amigos. 

Random.org existe desde 1998!! y dice ofrecer verdaderos números aleatorios ya que no se basa en algoritmos matemáticos para generar elementos pseudo-aleatorios que son predecibles, si no que utiliza lo que ellos llaman "ruido atmosférico". 

Esta plataforma ofrece un servicio REST para desarrolladores que quieran elementos aleatorios de verdad, es por ello que no podía faltar quien hiciera un módulo en Python que envuelva dichas funcionalidades de Random.org, navegando por el sitio "Pypi" me encontré con un módulo llamado randomdotorg que hace uso de dichos servicios de la plataforma para ofrecer números aleatorios en python utilizando "ruido atmosférico", éste módulo está desarrollado por Clovis Fabricio.

Para hacer uso de ella se requiere de su instalación de la siguiente manera:

$ pip install randomdotorg

Algunos ejemplos de uso son:

>>> r = randomdotorg.RandomOrg('ExampleProgram') # Pass the name of your program
>>> print r.get_quota() # method to check bit quota
999171
>>> print r.randrange(2, 33, 3)
32
>>> L = ['duck', 'dog', 'cat', 'cow', 'gnu']
>>> print r.choice(L) # random element from L
duck
>>> print r.sample(L, 3) # 3 distinct random elements from the list
['gnu', 'duck', 'cat']
>>> r.shuffle(L) # L is now in random order
>>> print L
['gnu', 'cow', 'cat', 'dog', 'duck']
>>> print r.random(amount=3) # passing amount returns a list of random() calls
[0.080465695508892002, 0.44239923585566199, 0.89425081132204098]
>>> print r.randrange(2, 33, 3, amount=3) # using `amount` is more efficient.
[8, 14, 32]

Como pueden apreciar, el uso es bastante sencillo y sin duda alguna pudiera ser imprescindible contar con este tipo de módulos en nuestros proyectos que requieren números aletarios verdaderos.

Estos ejemplos fueron tomados del sitio del Autor. (code.google.com/p/randomdotorg/)



Gaspar Dzul

Desarrollador Front End y Móvil.

Temas relacionados