Cargando



Python - Módulo Random

En este tutorial veremos un poco más sobre el módulo Random, pasando por algunos de sus principales métodos, hasta alguna de las aplicaciones en código que podamos hacer.


nov 11 2013 20:06
Avanzado
nov 11 2013 22:20
Cuando desarrollamos un programa existen momentos en que necesitamos hacer simulaciones y queremos valores que no estén elegidos por nosotros, ahí entra en funcionamiento el módulo Random de Python, este módulo es un generador de números aleatorios con el cual podemos cumplir esta necesidad, tiene una buena cantidad de métodos que nos permite tener opciones de cómo queremos generar dichos números.

Módulo Random

Como mencionábamos al inicio este módulo genera números aleatorios que pueden ser utilizados en simulaciones, también pudiera utilizarse para la construcción de juegos o de cualquier otra aplicación que requiera que haya valores no controlados.

Es importante destacar que tal vez para criptografía no resulte tan útil ya que estos números son pseudo aleatorios es decir existe un patrón definido al momento de generarlos, por lo que ante un ataque contra un código criptográfico pudiera no ser suficiente.

Hecha una vez la presentación y aclaratorias del caso vamos a ver algunas de las funciones o métodos que más resaltan del módulo:

random(): Retorna un número real aleatorio n tal que 0 ≤ n < 1.

getrandbits(n): Retorna bits aleatorios n, en la forma de un entero largo.

uniform(a, b ) Retorna un número real aleatorio n tal que a ≤ n < b.

randrange([start], stop, [step]): Retorna un número aleatorio de un rango (start, stop,
step) donde start es el inicio, stop es el límite y step es el salto entre los números.

choice(seq): Retorna un elemento aleatorio para la secuencia seq.

shuffle(seq[, random]): Mezcla la secuencia seq que se especifique.

sample(seq, n): Escoge n elementos aleatorios y únicos de la secuencia seq.

Ahora veamos algunos ejemplos de lo que podemos lograr con este módulo, el primero será un generador de fechas con un rango establecido, veamos el código en la siguiente imagen y luego iremos explicando:

python_random1.jpg


Primero establecemos dos fechas con las cuales crearemos un límite inferior y un límite superior, luego hacemos el llamado con el siguiente código que podemos ver en la imagen:


python_random2.jpg


Finalmente obtenemos el resultado y lo imprimimos utilizando asctime del módulo Time con lo cual podemos hacer legible la fecha obtenida:


python_random3.jpg


Como vemos es bastante sencillo y practico su uso; sigamos con otro ejemplo, vamos a crear un lanzador de dados, en nuestro editor de texto preferido podemos colocar lo siguiente:

from random import randrange
num = input('How many dice? ')
sides = input('How many sides per die? ')
sum = 0
for i in range(num): sum += randrange(sides) + 1
print 'The result is', sum

El código es bastante sencillo primero nos pide ingresar la cantidad de dados, luego la cantidad de lados de cada dado y hacemos un ciclo for donde obtenemos suma de la lanzada con la función randrange.

Una vez que ejecutamos el programa veremos algo similar a esto, los valores pueden variar y el resultado no debe ser siempre 10:

How many dice? 3
How many sides per die? 6
The result is 10

Como pudimos ver, fueron dos aplicaciones sencillas pero que utilizan parte del poder de la generación de valores aleatorios.

Con esto finalizamos este tutorial, con lo cual ya estamos en capacidad de poder obtener valores aleatorios con lo cual la contaremos con un recurso más para generar nuestras propias aplicaciones y programas.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X