Cómo generar números enteros aleatorios entre 0 y 9

Tiempo estimado de lectura: 3 minutos

Es posible que tengas varios proyectos de aprendizaje automático en los que necesites una forma de generar enteros aleatorios para probar las suposiciones de tu modelo.

Hay muchas maneras de lograrlo, aquí le mostraremos una serie de pasos diferentes.

Para demostrarlo, te llevaremos a una serie de escenarios diferentes, pero antes de hacerlo:

¿Para qué sirve utilizar uno o varios de los siguientes elementos?

  1. Simulación informática: busca generar números aleatorios como parte de una simulación en un programa informático.
  2. Muestreo estadístico - Si está realizando algún análisis sobre un conjunto de datos, utiliza lo siguiente para generar muestras en un rango.
  3. Introducir la aleatoriedad - Ayuda a realizar pruebas en diferentes escenarios para garantizar que no se introduzca ningún sesgo.
  4. Criptografía - Puede utilizarse como parte de las pruebas de seguridad para asegurar los datos en la transmisión o en una base de datos.
  5. Pruebas de estrés - Elija valores extremos para pasar a un programa y ver cómo reacciona y si devuelve un error.

Puede utilizar la aproximación de la función randrange

En esta función, se crea un valor seleccionado al azar que usted necesita, en un rango que usted define:

from random import randrange
print(randrange(1,10,1))

Result = prints a random number starting at 1, ending at 10, in increments of 1

¿Utilizar la función randint ?

import random

print(random.randint(0,9))

Result = This produces a random number integer value between 0 and 9

¿Qué pasa con el concepto de función randbelow ?

from secrets import randbelow

print(randbelow(9))

Result = Returns a random number between 0 and 9

Como resultado podrías probar la funcionalidad numpy random.randit ya que también es popular

importar numpy como np
print(np.random.randint(10, size=(1, 10))
Resultado = imprime diez valores enteros, cualquier cosa entre 1 y 10

Ejemplo de salida:
[[6 8 3 9 4 1 5 3 2 7]]


Utilizar la función range en un bucle for es una opción

n={} # Creates a dictionary of key value pairs
for i in range(10):
    n[i]=i
    print(n)

Result = Iterates and creates a dictionary as it moves through each step.

Sampele Output:
{0: 0}
{0: 0, 1: 1}
{0: 0, 1: 1, 2: 2}
{0: 0, 1: 1, 2: 2, 3: 3}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8}
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}

Utilizar random.randrange en un bucle for

from random import randrange
for i in range(10):
    print(random.randrange(0, 10))

Result = Loops ten times to create ten random numbers

Sample Output:
9
1
8
1
7
7
6
3
9
7

En este caso,aunque el enfoque de este post son los enteros, tenemos dos ejemplos que utilizan puntos flotantes.

Puedes generar puntos flotantes aleatorios utilizando random.uniform

import random
print(random.uniform(0.0, 9.0))

Result = Returns a random floating point number.

Sample Output:
4.436111014119316

Una alternativa es generar valores aleatorios de coma flotante en un rango

importar random
for i in range(10):
    print(random.random())

Resultado = Devuelve diez números aleatorios en coma flotante.

Ejemplo de salida:
8.80776539498274
0.8975905667079721
0.8467133530607382
0.757433819303854
0.88431126761758
0.9077189321042094
0.4826489161220854
0.7689417823093723
0.505382717614604
0.3102908090040003
0.01832993383665016

Así que, en resumen, hay varias formas diferentes de crear números aleatorios, ya sea uno solo o un grupo de números aleatorios.

Por ello, es una forma muy práctica de ayudar a un programador a probar un proyecto de aprendizaje automático.

Por otro lado, si necesitas intentar romper tu programa con valores que están en el extremo de un rango también se puede acomodar de esta manera.