Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Lista con valores aleatorios y condición

Estas en el tema de Lista con valores aleatorios y condición en el foro de Python en Foros del Web. Hola estimados compañeros de Python: Soy nuevo y espero mantenerme en el foro harto tiempo, veo que es una gran comunidad y me encantaría formar ...
  #1 (permalink)  
Antiguo 31/10/2013, 14:42
 
Fecha de Ingreso: octubre-2013
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Lista con valores aleatorios y condición

Hola estimados compañeros de Python:

Soy nuevo y espero mantenerme en el foro harto tiempo, veo que es una gran comunidad y me encantaría formar parte de ella.

Yendo al grano.

Resulta que he estado buscando la forma de crear una lista con valores y condición, sin embargo se me ha hecho muy complicado, y la verdad no se me ocurre alguna forma como lo puedo hacer.

Actualmente uso Python 2.7.1 y bueno lo que tengo que hacer es una lista de 8000 elementos y que cada elemento tenga un valor aleatorio entre 0 y 100, sin embargo el elemento siguiente solo puede tener una diferencia de 3 como máximo.

Una forma a modo de ejemplo para que entiendan.

si el primer elemento de la lista me dió 65, entonces el siguiente puede ser 62, 63, 64, 65, 66, 67 ó 68 (pongo en negrita el 65 para que se vea que la diferencia máxima con el siguiente puede ser 3).

En forma general

Cada elemento debe tener un valor entre 0 y 100 , estos se deben generar aleatoriamente, con la restricción de que un valor no puede tener más de 3 de diferencia con el siguiente.


Logré crear una lista de 8000 elementos y valores comprendidos entre 0 y 100, sin embargo no logro encontrar la forma de cumplir la condición mencionada.

Espero que me puedan ayudar.

Gracias por su tiempo

Saludos!
  #2 (permalink)  
Antiguo 31/10/2013, 17:22
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 10 meses
Puntos: 35
Respuesta: Lista con valores aleatorios y condición

Y podrías mostrarnos la parte del código que llevas? Yo lo hice así:

Código Python:
Ver original
  1. from random import randint
  2.  
  3. L = []
  4. for i in range(8000):
  5.     num = randint(0, 100)
  6.     L.append(L[i - 1] + randint(-3, 3) if L else num)

  #3 (permalink)  
Antiguo 31/10/2013, 19:26
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Lista con valores aleatorios y condición

Código Python:
Ver original
  1. print [4] * 8000
Es una lista, de 8000 elementos que cumple con las condiciones que pediste.

Si es aleatorio. Elegí personalmente un numero aleatorio.
  #4 (permalink)  
Antiguo 01/11/2013, 09:55
 
Fecha de Ingreso: octubre-2013
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Respuesta: Lista con valores aleatorios y condición

Hola


Finalmente logré hacerlo. Lo hice de la siguiente manera:

Código Python:
Ver original
  1. lista= [random.randint(1,101)]
  2. i=0
  3.  
  4. while i <8000:
  5.     a=(random.randint(lista[i]-3,lista[i]+4))
  6.    
  7.     if a>=0 and a<=100:
  8.         lista.append(a)
  9.         i+=1

Así obtuve lo que necesitaba.

Gracias por la ayuda de todas maneras!

Saludos!

Etiquetas: condición, gui, lista
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:10.