Reto: Aleatorios
Generar un número aleatorio.
Método 1
Importamos la libreríarandom
y usamos randrange
.
Tenemos que poner hasta 101 para que se llegue a 100, puesto que el último número no se alcanza. Por tanto, el rango obtenido estará entre 0 y 100 ambos incluidos.
import random
x=random.randrange(101)
print('Número elegido:',x)
Método 2
Importamos la libreríarandom
y usamos randint
que nos da valores entre 1 y 100, ambos incluidos.En la segunda línea de código hemos añadido
random.seed()
que baraja la serie de números aleatorios. Python, al igual que otros lenguajes, no trabaja con números aleatorios sino con números pseudoaleatorios, que se obtienen mediante algoritmos. Las series de números pseudoaleatorios que se obtienen generalmente son bastante adecuadas, pero tienen el inconveniente de ser series finitas, por ejemplo de 65.000 números. Pero esta serie luego se repite, y comienza por el mismo valor y los demás van en el mismo orden. Lo que hace la sentencia random.seed()
es inicializar la semilla, lo que equivale a barajar esa larga serie de números aleatorios con la finalidad de que no se repitan en el mismo orden, y así obtener un comportamiento más cercano a lo que sería un proceso aleatorio real, como el de obtener números sacando bolas de un bombo, tirando dados, o sacando cartas de un mazo barajado.import random
random.seed()
x=random.randint(1,100)
print('Número elegido:',x)
Método 3
En lugar de importar la libreríarandom
entera lo que hacemos es importar de ella únicamente el método randrange
. Si no vamos a usar otros métodos de esta librería, puede resultar interesante hacer esto ya que no cargamos en memoria toda la librería que puede llegar a ser muy pesada y ralentizar nuestros procesos.Al usar
randrange
ya no tenemos que poner random.randrange
con poner únicamente la palabra randrange
es suficiente.from random import randint
x=randint(1,100)
print('Número elegido:',x)
Método 4
El uso derandom.choice
nos permite elegir aleatoriamente entre los valores de una serie que puede ser una lista, o un rango, como en este caso.
import random
x=random.choice(range(1,101))
print('Número elegido:',x)
Método 5
Hasta ahora hemos generado números aleatorios enteros. Al usarrandom.random
lo que hacemos es generar un número aleatorio con decimales que varía entre cero y uno, pudiéndose alcanzar el cero, pero no el uno. Esto es lo que en estadística se denomina una distribución de probabilidad uniforme [0,1).import random
print(random.random())
Método 6
Conrandom.random
generamos un número aleatorio que se ajusta a una distribución de probabilidad uniforme [0,1), puede incluir el cero pero no llega nunca a 1. Al multiplicar por 200 lo que hacemos es amplificar el rango y ahora irá entre [0,200). Al sumar 5000 desplazamos hacia la derecha el eje y ahora el rango de variación estará entre [5000,5200). Si queremos que llegue a alcanzar en algún momento el valor 5200 tendremos que sumar 1, y así el mínimo que se puede llegar a obtener es 5001 y el máximo 5200, todos ellos números enteros ya que hemos añadido int
que trunca la parte decimal.import random
print(int(random.random()*200+5000)+1)
Veamos el valor máximo y mínimo generando 1000 aleatorios de este tipo.
import random
random.seed()
L=[]
for i in range(1000):
L.append(int(random.random()*200+5000)+1)
print('maximo: %d minimo: %d' % (max(L),min(L)))
Método 7
Importamos la libreríarandom
para poder manejar números aleatorios.Creamos una lista con
list
. Usando range
conseguimos que la lista comience en 0 y finalice en 100, para ello tenemos que usar el valor 101 en el rango. Imprimimos la lista L.Luego usamos
random.choice
para elegir un valor de la lista de forma aleatoria. Así, ya podremos mostrar en pantalla un número aleatorio entre 0 y 100, ambos incluidos.import random
L=list(range(101)) #creamos la lista L
print(L)
x=random.choice (L)
print('Número elegido:',x)
No hay comentarios:
Publicar un comentario