¿Por qué no itera el bucle?
Publicado por daenius (2 intervenciones) el 07/09/2019 20:54:55
El problema consiste en que no se realiza ninguna iteración en este bucle, y no sé por qué, ni cómo arreglarlo. Ya de antemano sé que está incompleto y de seguro mal, pero me parece lógico de acuerdo a lo que tengo que hacer.
funcionAux es una función ya definida, dónde con un número y una lista dadas, devuelve el índice del primer elemento mayor que el número en dicha lista.
Mi idea es re usar el método en el que estoy creando. De tal forma podría aplicarlo a una gran lista de listas, donde yéndome a la posición determinada por "indice" y con el resultado de funcionAuxen la mano, podría ubicarlo en la posición original en la lista de listas.
En vez de devolver:
Me tira:
Por no decir que ese valor varía. La primera vez que lo ejecuto me sale bien, pero si lo repito ya no.
De todas formas, no creo que un solo bucle pueda meterla tantas cosas para hacer. Llevo ya varias horas sin saber cómo arreglarlo
1
2
3
4
5
6
7
8
9
def problemon(listaDeListas, indice, lista):
for l in listaDeListas:
dato=l[indice]
p=funcionAux(dato, lista)
l.pop(indice)
l.insert(indice,p)
return listaDeListas
funcionAux es una función ya definida, dónde con un número y una lista dadas, devuelve el índice del primer elemento mayor que el número en dicha lista.
Mi idea es re usar el método en el que estoy creando. De tal forma podría aplicarlo a una gran lista de listas, donde yéndome a la posición determinada por "indice" y con el resultado de funcionAuxen la mano, podría ubicarlo en la posición original en la lista de listas.
En vez de devolver:
1
2
problemon([1,10,100],[2,20,200],[3,30,300],[4,40,400],0,[2,4])
Salida: [[0, 10, 100], [1, 20, 200], [1, 30, 300], [2, 40, 400]]
Me tira:
1
Salida: [[0, 0, 100], [0, 0, 200], [0, 1, 300], [1, 1, 400]]
Por no decir que ese valor varía. La primera vez que lo ejecuto me sale bien, pero si lo repito ya no.
De todas formas, no creo que un solo bucle pueda meterla tantas cosas para hacer. Llevo ya varias horas sin saber cómo arreglarlo
Valora esta pregunta


0