El modulo random de la libreria estandar de python

Written by Samuel de Ancos

El modulo random de la librería estándar de python como su propia documentación indica: Implementa un generador de números pseudo-aleatorios.

El ejemplo mas sencillo para ilustrar el funcionamiento del modulo podría ser:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random

def main():
    random_number = random.random()
    return random_number

if __name__ == "__main__":
    print main()

El ejemplo anterior imprimiría un numero pseudo-aleatorio entre [0.0 … 1.0].

Pero la cosa no se queda en eso pues también se adapta según el tipo de dato en el cual lo utilicemos. Así por ejemplo podemos utilizarlo en secuencias para seleccionar elementos aleatoriamente. Por ejemplo:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random

def main():
    una_lista = ["ElementoUno", "ElementoDos", "ElementoTres"]
    element_random = random.shuffle(una_lista)
    return element_random

if __name__ == "__main__":
    print main()

También podemos utilizarlo para generar números aleatorios dentro de un rango de enteros predefinido:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random

def main():
    number_random_int = random.randint(1, 30)
    return number_random_int

if __name__ == "__main__":
    print main()

Como podemos observar conocer en profundidad el modulo random nos puede ayudar a generar contenido aleatorio de manera rápida y sencilla.

Para terminar quiero mostrar un ejemplo de creación de strings aleatorio utilizando el modulo random y el modulo string ambos incluidos en la librería estándar de python:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
import string

def main(number):
    random_string = "".join(random.choice(string.letters) for x in range(number))
    return random_string

if __name__ == "__main__":
    print main(10)

Podemos encontrar mas información sobre este modulo y los métodos que implementa en la documentación oficial de la librería estándar de python: http://docs.python.org/library/random.html