Ver Mensaje Individual
  #9 (permalink)  
Antiguo 27/03/2012, 22:02
Avatar de shujidan
shujidan
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 5
Respuesta: Que esta mal?

Perdon por responder tan tarde pero no habia entrado desde hace mucho a este foro y quizas ya no te interese pero el error que vi en tu codigo es el siguiente

Código Python:
Ver original
  1. edades=[12,21,28,16,19,25,15]
  2. indice=0
  3. for elemento in edades:
  4.     if elemento<18:
  5.         del(elemento[indice]) //ELEMENTO NO ES EL ARRAY SINO UN ELEMENTO DEL ARRAY, debes accesar a edades[indice]
  6.     else:
  7.         indice=indice+1
  8. print edades

Con el else le estas diciendo a tu programa que cuando tu elemento sea menor a 18 se borre de la lista y en otro caso avance (es decir que cuando sea mayor o igual a 18 avance) por lo tanto cuando el elemento se borra ya no entra en el caso que debe avanzar el indice

Por ejemplo si un elemento es mayor a 18 el indice avanza correctamente pero cuando es menor entra primero en la condicion en la que debe borrar el elemento y a ninguna otra:

Código Python:
Ver original
  1. edades=[12,21,28,16,19,25,15]
  2. indice=0
  3. for elemento in edades:
  4.     if elemento<18:
  5.         del(edades[indice])
  6.     indice=indice+1 //el aumento del indice debe estar fuera de la condicion "if" (se debe ejecutar en cualquier caso) o de otra forma el indice no avanza (solo el elemento)
  7. print edades

Última edición por shujidan; 27/03/2012 a las 22:16