Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
boucles_imbriquees [2008/12/16 20:24] tyrtamos |
boucles_imbriquees [2008/12/17 07:46] tyrtamos |
||
---|---|---|---|
Ligne 77: | Ligne 77: | ||
<code python> | <code python> | ||
# donnée | # donnée | ||
- | boucles = [[1,5,2],[3],[1,4]] | + | boucles = [[1, |
# initialisation de la boucle | # initialisation de la boucle | ||
+ | boucles = [(type(x)==list and [x] or [[x]])[0] for x in boucles] | ||
boucles = [(len(x)==1 and [[0] + x] or [x])[0] for x in boucles] | boucles = [(len(x)==1 and [[0] + x] or [x])[0] for x in boucles] | ||
boucles = [(len(x)==2 and [x + [1]] or [x])[0] for x in boucles] | boucles = [(len(x)==2 and [x + [1]] or [x])[0] for x in boucles] | ||
Ligne 136: | Ligne 137: | ||
Le principe de l' | Le principe de l' | ||
- | * on commence par incrémenter le dernier compteur (x=n). S'il ne " | + | * on commence par incrémenter le dernier compteur (x=n). S'il ne " |
* on fait la même chose pour le compteur précédent | * on fait la même chose pour le compteur précédent | ||
* etc... | * etc... | ||
Ligne 157: | Ligne 158: | ||
self.B = B | self.B = B | ||
self.indmax = len(self.B)-1 | self.indmax = len(self.B)-1 | ||
+ | # reconstituer une sous-liste quand elle est donnée sous forme d' | ||
+ | self.B = [(type(x)==list and [x] or [[x]])[0] for x in self.B] | ||
# insérer la borne inférieure (=0) de chaque boucle si elle n'est pas donnée | # insérer la borne inférieure (=0) de chaque boucle si elle n'est pas donnée | ||
self.B = [(len(x)==1 and [[0] + x] or [x])[0] for x in self.B] | self.B = [(len(x)==1 and [[0] + x] or [x])[0] for x in self.B] | ||
Ligne 198: | Ligne 201: | ||
<code python> | <code python> | ||
- | B = [[1,5,2],[3],[1,4]] | + | B = [[1, |
boucles = Boucles(B) | boucles = Boucles(B) | ||
Ligne 210: | Ligne 213: | ||
</ | </ | ||
- | Comme dans le 1er code, on peut introduire une liste de boucles incomplète (comme le [3] au lieu de [0, 3, 1]), comme d' | + | Comme dans le 1er code, on peut introduire une liste de boucles incomplète (ex: 3 au lieu de [0, 3, 1]), comme d' |
- | Dans la partie utile de la boucle, on peut récupérer chaque compteur de boucle i comme: boucles.C[i]. Mais ici, le nom " | + | Dans la partie utile de la boucle, on peut récupérer chaque compteur de boucle i comme: boucles.C[i]. Mais ici, le nom " |
- | Ce code utilisateur affiche, bien entendu, la même chose que précédemment: | + | Ce code utilisateur affiche, bien entendu, la même chose que précédemment |
< | < | ||
Ligne 237: | Ligne 240: | ||
</ | </ | ||
- | Petite particularité: | + | Petite particularité: |
La seule chose qui manque encore, éventuellement, | La seule chose qui manque encore, éventuellement, |