Bueno este es un ejercicio donde tengo que purificar una lista, tengo que sacar todos los impares pero no se porque me da un error:
def purificar(lista):
cont=0
while cont < len(lista):
if lista[cont] % 2 != 0:
lista.pop(cont)
cont+=1
return lista
Así no me alcanza a checar el último valor de la lista, pero si le agrego el =
así:
while cont <= len(lista):
Me da el siguiente error:
Traceback (most recent call last):
File "purificar.py", line 4, in purificar
if lista[cont] % 2 != 0:
IndexError: list index out of range
Pero no se porque esta mal mi sentencia
oList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
iCount = 0
while iCount <= len(oList)-1:
if(oList[iCount] % 2 == 0):
print oList[iCount]
iCount = iCount + 1
No me sucede lo mismo, y según veo ese programa solamente imprime en pantalla los números pares, pero lo que estoy tratando de hacer es modificar la lista borrando los impares.
Para eso yo creo que haría algo así:
def purificar(lista):
for x in lista:
if x % 2 == 0:
print x,
Pero de todos modos ya lo tengo el ejercicio se resuelve así:
def purificar(lista):
lst=[]
for x in lista:
if x % 2 == 0:
lst.append(x)
return lst
Saludos!!!