Foros del Web » Programando para Internet » Python »

diferencia de numeros contiguos

Estas en el tema de diferencia de numeros contiguos en el foro de Python en Foros del Web. hola que tal estoy intentando hacer un programa donde me diga cual es la diferencia mas grande de una lista dada de una serie de ...
  #1 (permalink)  
Antiguo 26/08/2009, 15:21
 
Fecha de Ingreso: julio-2009
Mensajes: 8
Antigüedad: 15 años, 3 meses
Puntos: 0
Exclamación diferencia de numeros contiguos

hola que tal estoy intentando hacer un programa donde me diga cual es la diferencia mas grande de una lista dada de una serie de numeros contiguos

no se si me puedan ayudar

gracias
  #2 (permalink)  
Antiguo 26/08/2009, 15:54
 
Fecha de Ingreso: diciembre-2008
Ubicación: PERU
Mensajes: 294
Antigüedad: 15 años, 11 meses
Puntos: 23
Respuesta: diferencia de numeros contiguos

por ejemplo?? dame un pequeño ejemplo para tener algo de idea..
Yo entiendo esto:
Diferencia de: 1-2-3-4 = ???
  #3 (permalink)  
Antiguo 26/08/2009, 16:00
 
Fecha de Ingreso: julio-2009
Mensajes: 8
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: diferencia de numeros contiguos

tienes una lista dada
a=[8, 9, 19, 15, 14]
la diferencia de 8 y 9 es 1
la diferencia de 9 y 19 son 10
la diferencia de 19 y 15 son 4
la diferencia de 15 y 14 es 1

eso es lo que tengo que sacar en pantalla
  #4 (permalink)  
Antiguo 26/08/2009, 21:01
 
Fecha de Ingreso: diciembre-2008
Ubicación: PERU
Mensajes: 294
Antigüedad: 15 años, 11 meses
Puntos: 23
Respuesta: diferencia de numeros contiguos

Talvez esto te ayude; falta afinar detalles, pero ya tienes la base.
Código Python:
Ver original
  1. a=[8,9,19,15,14]
  2. fin=0
  3. s=0
  4. while fin <= range(len(a)):
  5.     fin = fin + 1
  6.     dif = a[fin] - a[s]
  7.     print "la diferencia entre",a[fin],"-",a[s],"=", dif
  8.     s=s+1

Última edición por yuo2; 27/08/2009 a las 07:30
  #5 (permalink)  
Antiguo 27/08/2009, 00:06
AxL456
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: diferencia de numeros contiguos

Código Python:
Ver original
  1. a=[8,9,19,15,14]
  2.  
  3. def restar_valores(lista):
  4.     """ resta los valores de la lista"""
  5.    
  6.     for x in range(len(lista)-1):
  7.         print "la resta de %s y %s es igual a %s " % (lista[x],
  8.                                                       lista[x+1],
  9.                                                       lista[x] - lista[x+1])
  10.  
  11. restar_valores(a)

espero te sirva, si no cuéntanos..
  #6 (permalink)  
Antiguo 27/08/2009, 07:23
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: diferencia de numeros contiguos

Que tal un toque pythonesco
Código python:
Ver original
  1. a = [8, 9, 19, 15, 14]
  2.  
  3. def f(n, m):
  4.     print "La diferencia de %d y %d es %d" % (n, m, n - m)
  5.  
  6. map(f, a[:-1], a[1:])
  #7 (permalink)  
Antiguo 27/08/2009, 15:38
 
Fecha de Ingreso: julio-2009
Mensajes: 8
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: diferencia de numeros contiguos

hola gracias por su ayuda

yotengo algo así
pero ala hora de correrlo me marca error de index
y todavia me falta ordenarlo y sacar la mayor diferencia
no se si mepuedan ayudar

vec=[]
n=int(input("dame un numero: "))
for i in range(n):
elemento=int(input("dame una serie de numeros: "))
vec.append(elemento)
dif=[]
i=0
j=1
a=vec[j]
for i in vec:
a=vec[j]
l=abs(i-a)
j=j+1
dif.append(l)
print(l)

dif.sort()
print(dif)
  #8 (permalink)  
Antiguo 27/08/2009, 16:13
AxL456
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: diferencia de numeros contiguos

tienes unos pequeños errores en el código:

Cita:
Iniciado por mralex24 Ver Mensaje
hola gracias por su ayuda

yotengo algo así
pero ala hora de correrlo me marca error de index
y todavia me falta ordenarlo y sacar la mayor diferencia
no se si mepuedan ayudar

vec=[]
n=int(input("dame un numero: "))
for i in range(n):
elemento=int(input("dame una serie de numeros: "))
vec.append(elemento)
dif=[]
i=0
j=1
a=vec[j]
for i in vec:
a=vec[j]
l=abs(i-a)
j=j+1
dif.append(l)
print(l)

dif.sort()
print(dif)
el primero que veo es que creas la variable i=0 la cual es innecesaria porque no la usas en ninguna otra parte del codigo (la variable i dentro del for python no la relaciona con la variable global i=0)

la parte donde te arroja error es porque estas "indexando fuera de rango". el codigo corre bien hasta que el for llega hasta el ultimo indice dentro de la lista vec ya que al tratar de restar i - a la variable a no existe (cuando i es el ultimo indice de la lista, entonces a (que en esencia es igual a i +1) no existe)


tomando al pie de la letra lo que indicas aquí:
Cita:
estoy intentando hacer un programa donde me diga cual es la diferencia mas grande de una lista dada de una serie de numeros contiguos
la manera en que yo lo realizaría seria la siguiente:
Código Python:
Ver original
  1. a=[8,9,19,15,14]
  2.  
  3. def restar_valores(lista):
  4.     """ resta los valores de la lista"""
  5.     temp = 0
  6.     for x in range(len(lista)-1):
  7.         resta = lista[x] - lista[x+1]
  8.         print "la resta de %s y %s es igual a %s " % (lista[x],
  9.                                                       lista[x+1],
  10.                                                       resta)
  11.         if abs(resta) > temp:
  12.             temp = abs(resta)
  13.             index = x
  14.     print "la mayor resta fue entre %s y %s" %(lista[index], lista[index +1])
  15.    
  16. restar_valores(a)

de todas maneras lo importante es que entiendas lo que el código esta realizando para que puedas interpretarlo cualquier duda solo pregunta..
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 15:19.