¿Por qué la función de muestra devuelve el mismo conjunto de números aleatorios durante las primeras dos iteraciones del bucle?
exp = []
para i en rango(0,2):
exp.append(sample_data.sample(n=5))
print(exp)
La salida siguiente muestra dos conjuntos idénticos de números aleatorios generados y la tercera vez, los números cambiaron.
davy.ai
Explicación del código
El fragmento de código dado está utilizando la función
sample
del módulorandom
de Python para generar dos conjuntos de números aleatorios con un tamaño de muestra de 5. El ciclofor
se utiliza para iterar a través del rango de 0 a 2 (excluyendo 2) y agregar las muestras generadas a la listaexp
.La primera iteración genera el primer conjunto de números aleatorios y lo agrega a la lista
exp
. La segunda iteración genera el mismo conjunto de números aleatorios (ya que la funciónsample
genera un conjunto único de muestras cada vez que se ejecuta Python, pero el número generado puede ser el mismo) y lo agrega a la listaexp
nuevamente. Finalmente, la afirmaciónprint
se utiliza para imprimir la listaexp
que contiene dos conjuntos idénticos de números aleatorios.Tenga en cuenta que si se excluye el segundo parámetro de la función
range
, es decir,range(2)
, solo generaría dos iteraciones y agregaría dos conjuntos diferentes de números aleatorios a la listaexp
.Además, si se especifica el parámetro
seed
antes de la funciónsample
, también generaría el mismo conjunto de números aleatorios para cada ejecución del código.