Cita:
Iniciado por Koan
Código python:
Ver originalimport random
for i in range(10):
print random.randint(1,30)
print
Si ya sabes que serán números entre 1 y 30, puedes hacer una pequeña modificación a la sugerencia de
razpeitia:
Código Python:
Ver original# generas la lista
numeros = range(1, 30)
#la mezclas
shuffle(numeros)
#obtienes los primeros 10
mis_numeros = numeros[:10]
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.