Número aleatorio en Python

Número aleatorio en Python

Python

Para generar números aleatorios en Python deberemos utilizar del módulo random de la biblioteca estándar.

Este módulo provee varias funciones para poder generar números aleatorios de distintas formas y con distintos parámetros.

Generar número aleatorio entre dos valores en Python

random()

La función random() devuelve un float entre 0.0 y 1.0.

import random

print(random.random())

randint(x, y)

Podremos generar un número aleatorio entero que se encuentre entre dos valores utilizando la función randint(). Como parámetros le enviaremos dos enteros. El resultado será un número aleatorio entre esos dos valores, ambos inclusive.

En el siguiente ejemplo generaremos un número entero aleatorio entre el 0 y el 10:

from random import randint

print(randint(0, 100))

randrange(x, y, step)

Podremos generar un número aleatorio entero que se encuentre entre dos valores y además que mantenga una distancia con el número generado anteriormente. Esta distancia de establece en el parámetro step.

from random import randrange

for i in range(10):
    print(randrange(0,50,10))

uniform(x, y)

Esta función generará un número de tipo float aleatorio comprendido entre dos valores, ambos inclusive.

from random import uniform

for i in range(5):
    print(uniform(0, 20))

Además, como parámetros, también podemos establecer valores de tipo float:

from random import uniform

for i in range(5):
    print(uniform(0.2, 1.8))

Obtener elementos aleatorios de un conjunto de datos

choice()

La función choice() nos devolverá un elemento aleatorio de un conjunto de datos de tipo lista o tupla.

Ejemplo para una lista:

from random import choice

cars = ["Ford", "Volvo", "BMW"]
print(choice(cars)) 

Ejemplo para una tupla:

from random import choice

cars = ("Ford", "Volvo", "BMW")
print(choice(cars)) 

shuffle()

La función shuffle() pertenece también al módulo random, aunque realmente no genera un valor aleatorio o random. Lo que hace esta función es modificar el orden de los elementos en un conjunto de datos de tipo lista.

from random import shuffle

cars = ["Ford", "Volvo", "BMW"]
shuffle(cars)
print(cars) 

sample(data, x)

La función sample() de random devuelve x números de elementos de un conjunto de datos (lista o tupla) de forma aleatoria.

Ejemplo para una lista:

from random import sample

cars = ["Ford", "Volvo", "BMW"]
print(sample(cars, 2)) 

Ejemplo para una tupla:

from random import sample

cars = ("Ford", "Volvo", "BMW")
print(sample(cars, 2)) 

Es importante tener en cuenta que el segundo parámetro no debe contener un valor mayor al del tamaño de la lista.

Leave a reply