![]() |
Modulo Random |
En la sección Módulos, intentare ir explicando cada uno de los módulos y las
funciones que ellos contienen, vistos en el correr del blog.
El modulo random proporciona un generador de números aleatorios, por lo que es adecuado para una gran gama de aplicaciones: juegos, web, bases de datos, etc.
Importante decir para los que no saben, cuando queremos utilizar alguna función de un modulo, tenemos que importar el modulo con anterioridad. En python para importar un modulo hacemos lo siguiente:
Si lo queremos importar en el shell interactivo para probarlo:
»»»import random
O en la cabecera de nuestros programas para utilizar las funciones mas tarde:
import random
random.randrange([start,] stop [,step]) , random.randrange(stop)
El método randrange devuelve un elemento seleccionado al azar y como su nombre lo dice, el numero aleatorio que nos va a devolver tiene que estar dentro de un rango ingresado por nosotros.
start - punto de inicio del rango (el inicio se incluye en el rango)
stop - punto final del rango (no se incluye dentro del rango)
step - agrega un salto en el rango
Ejemplos de random.randrange:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import random
print random.randrange(10)
Nos devolverá un numero aleatorio entre 0 y 9 (el 10 no es incluido en el rango)
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import random
print random.randrange(1, 12, 2) #Las opciones son (1, 3, 5, 7, 9, 11)
print random.randrange(0, 11, 2) #Las opciones son (0, 2, 4, 6, 8, 10)
Nos devolverá un numero aleatorio entre 0 y 10 contando de 2 en 2 (0, 2, 4, 6, 8, 10)
random.randint(a, b)
La única diferencia que encuentro entre randint y randrange es que al usar randint(1, 10), el 10 es incluido dentro del rango, cosa que en la función randrange no pasa.
Ejemplo de random.randint:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import random
print random.randint(0, 5)#La salida va a ser: 0, 1, 2, 3, 4 o 5
random.choice(secuencia)
Devuelve un elemento aleatorio de una secuencia no vacía.
random.choice(["rojo", "negro", "verde"])
Esta funcion de eleccion se puede utilizar para elegir un elemento aleatorio a partir de una lista:
Ejemplo de random.choice:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import random
lista = [2, 190, False, "hola", "pelota", 123]
random.choice(lista)
random.random()
Devuelve un numero aleatorio de punto flotante entre 0.0 y 1.0
También se puede utilizar de la siguiente manera:
random.random() * 100 #Nos devuelve un numero de punto flotante entre 0.0 y 100.0
random.uniform(a, b)
Al igual que random.random, devuelve un numero de punto flotante entre a y b:
random.uniform(1, 2) #Devuelve un numero aleatorio entre 1.0 y 2.0
random.shuffle(a)
La función shuffle mezcla aleatoriamente el orden de los elementos.
Ejemplo de random.shuffle(a):
#! /usr/bin/env python
# -*- coding: utf-8 -*-
import random
a = [1, 2, 3, 4, 5]
random.shuffle(a)
print a
[3, 2, 4, 5, 1]
Hay muchas mas funciones con el modulo random, estas son las que voy entendiendo y publicando. A medida que vaya conociendo otras funciones de random actualizare el post.
Cualquier duda o sugerencia espero tu comentario...