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.
Donc mon script ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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
Partager