Cita:
Iniciado por AlvaroG Si no sabes qué tantos números puedes llegar a generar, la solución es comprobar a cada caso si el número que generas ya está en la lista o no. Esta opción es más lenta y el rendimiento se degrada rápidamente dada la necesidad de revisar la lista entera cada vez, pero para generar una lista de pocos números funciona bien:
Código Python:
Ver originaldef aleatorios(cantidad, min, max):
numeros = []
while len(numeros) < cantidad:
numero = random.randint(min, max)
if not numero in numeros:
numeros.append(numero)
return numeros
Saludos.
Hola
AlvaroG, cuanto tiempo sin leerte. Unas pequeñas aclaraciones, ese algoritmo se puede quedar en un ciclo infinito si la cantidad es mayor al margen, por ejemplo cantidad=30, min=1, max=10 jamas podra llenar la cantidad que se le pidio (por el principio del palomar). Recomendaría validar.
Otra cosa, es para evitar el if, puedes usar set (conjuntos) y al final pasarlo por la función list. Esto no se si sera mas eficiente.