Ver Mensaje Individual
  #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..