Elegir números al azar

Hoy he hecho una primitiva y necesitaba seis números al azar para completarla. Estos seis números no se pueden repetir y tienen que estar comprendidos entre el 1 y el 49.

Vamos a usar el método choice del módulo random para elegir seis elementos de una lista de 49. Para ello creamos la lista de números usando list comprehension el cual nos proporciona una forma rápida de crear la lista de números. Luego creamos una lista vacía que contendrá los números al azar. Para añadirlos usamos un bucle while que elegirá seis elementos descartando los que ya se encuentren en la lista, es decir que si el número elegido aleatoriamente de la lista de números no está en los números del sorteo (if numero not in sorteo) entonces lo añade a la lista sorteo y sigue adelante, en caso contrario selecciona otro número de la lista y vuelve a comprobar.

El código puede quedar así:

import random
numeros = [ num for num in range(1,50)]
sorteo = list()
cant = 6
while cant > 0:
    numero = random.choice(numeros)
    if numero not in sorteo:
        sorteo.append(numero)
        cant-=1
print(sorted(sorteo))

También podemos hacerlo sin choice usando el método randrange(inicio,fin). Esto es básicamente un random.choice(range(1,50))

import random
sorteo = list()
cant = 6
while cant > 0:
    numero = random.randrange(1,50)
    if numero not in sorteo:
        sorteo.append(numero)
        cant-=1
print(sorted(sorteo))

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *