Cita:
Iniciado por Carlangueitor ¿Probaste hacer eso con un
while
?
Saludos
Si. Pero no es lo que busco. Supongo que con un
while seria algo asi:
Código Python:
Ver originalimport random
num = 1
while num <= 25:
print(num)
num += random.randint(1, 25)
Aunque la duda va a enfocada cuando se trabaja con tuplas o listas. Cuando se trabaja con matrices se puede hacer lo anterior (con un while), ya que llamamos a los vectores por el indice. Pero claro, si las matrices tienen muchos vectores necesita muchos recursos.
Por ejemplo, en este caso:
Código Python:
Ver originalobjetos = ('casa', 'lampara', 'mesa', 'armario', 'silla')
for enum, x in enumerate(itertools.combinations(objetos, 3), 1):
print(enum, x)
Y su resultado:
Código Python:
Ver original1 ('casa', 'lampara', 'mesa')
2 ('casa', 'lampara', 'armario')
3 ('casa', 'lampara', 'silla')
4 ('casa', 'mesa', 'armario')
5 ('casa', 'mesa', 'silla')
6 ('casa', 'armario', 'silla')
7 ('lampara', 'mesa', 'armario')
8 ('lampara', 'mesa', 'silla')
9 ('lampara', 'armario', 'silla')
10 ('mesa', 'armario', 'silla')
¿Como conseguir, por ejemplo, que de forma aleatoria y respetando la secuencia nos diera...?
Código Python:
Ver original1 ('casa', 'lampara', 'mesa')
5 ('casa', 'mesa', 'silla')
9 ('lampara', 'armario', 'silla')
Ya digo que esto es un pequeño ejemplo y se puede conseguir facilmente con arreglos. Pero imagina que las combinaciones fueran 1000, 5000 o mas. No es viable tener un arreglo tan grande.
Por otro lado, con arreglo seria asi:
Código Python:
Ver originalobjetos = ('casa', 'lampara', 'mesa', 'armario', 'silla')
matriz = []
for enum, x in enumerate(itertools.combinations(objetos, 3), 1):
matriz.append(x)
print(enum, x)
num = 0
while num <= 10:
print((matriz[num]))
num += random.randint(1, 5)
Código Python:
Ver original('casa', 'lampara', 'mesa')
('casa', 'lampara', 'armario')
('casa', 'lampara', 'silla')
('casa', 'mesa', 'armario')
('casa', 'mesa', 'silla')
('casa', 'armario', 'silla')
('lampara', 'mesa', 'armario')
('lampara', 'mesa', 'silla')
('lampara', 'armario', 'silla')
('mesa', 'armario', 'silla')
Resultado:
('casa', 'lampara', 'mesa')
('casa', 'lampara', 'armario')
('lampara', 'mesa', 'armario')
('mesa', 'armario', 'silla')
Lo que trato de hacer, es no tener que crear el arreglo. Osea, que un generador, un while o un for nos devuelda el vector por medio de su indice aleatorio. Pero respetendo la secuencia aleatoria de menor a mayor.