Por una cosa o por otra me ha hecho falta varias veces un script que genere números en un rango determinado y me los muestre desordenados, pero sin repetir. Acabo de mejorar la versión que tenía y aquí la dejo (además, así me sirve por si lo pierdo):
#!/usr/bin/python# -*- coding: iso-8859-15 -*-
# IMPORTS
import os, sysimport random
if len(sys.argv) != 2:
print "Argumentos invalidos."
print "Uso: aleatorio.py "
exit(-1)
tama = int(sys.argv[1])num = [ ]
# Generamos la lista aleatoria
for i in range(tama): num.append(i+1)
random.shuffle(num)
for i in range(tama):
print num[i]
Muchas gracias, había buscado algo como esto desde hacia algún tiempo, pero no sabia como hacerlo =)
Hey, de nada ;D. Para hacer el procedimiento shuffle más aleatorio se puede poner antes la línea:random.seed(os.urandom(32));Un saludo