Problème boucle Python "Out of Range"
Bonjour,
Je debute en python. Tout d'abord j'explique ce que je cherche a faire.
J'ai une liste d'entier, [3,8,9,4,5,1,8], je cherche a regrouper les entiers de facon a tant que " liste[i] < liste[i+1] ". Ce qui donnerai en resultat pour l'exemple au dessus [3,8,9], [4,5], [1,8]. Je reange tout sa dans une liste final. Mon probleme vient d'une boucle dont l'index depasse l'index max de la liste.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| def func(listeNB) :
i = 0;
j = 0;
liste = [];
while (len(listeNB)>0) :
j=1;
while ((listeNB[j] > listeNB[j-1]) and (j < len(listeNB))):
j+=1;
liste.append(listeNB[:j]);
# print liste; PRINT DE VERIFICATION
listeNB = listeNB[j:];
print liste; |
Donc mon script ne marche pas :
while ((listeNB[j] > listeNB[j-1]) and (j < len(listeNB))):
IndexError: list index out of range
Mon print de verification me donne cela :
[[3, 8, 9]]
[[3, 8, 9], [4, 5]]
et bug au prochain tour de boucle.
J'ai beau chercher l'erreur dans la condition de la boucle, elle me parait logique. Ma logique est peut etre en compote, je m'en remet a vous pour m'eclairer sur ce petit problème, je suis sur tout bête.
Merci d'avance