Warning: Undefined array key "DOKU_PREFS" in /home/clients/a4e6fc1ce1761b72982b805de0f418c4/web/python/mesrecettespython/inc/common.php on line 2082
boucles_imbriquees [Les recettes Python de Tyrtamos]

Outils pour utilisateurs

Outils du site


boucles_imbriquees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
boucles_imbriquees [2008/12/17 07:18]
tyrtamos
boucles_imbriquees [2008/12/17 07:50]
tyrtamos
Ligne 38: Ligne 38:
  
 <code python> <code python>
-boucles = [[1,5,2],[3],[1,4]]+boucles = [[1,5,2],3,[1,4]] 
 +</code> 
 + 
 +  * si certains éléments de la liste sont donnés par un nombre entier (ex: 3) au lieu d'une sous-liste (ex: [3]), on va reconstituer la sous-liste: 
 + 
 +<code python> 
 +boucles = B = [(type(x)==list and [x] or [[x]])[0] for x in boucles] 
 +print boucles 
 +[[1,5,2],[3],[1,4]]
 </code> </code>
  
Ligne 77: Ligne 85:
 <code python> <code python>
 # donnée # donnée
-boucles = [[1,5,2],[3],[1,4]]+boucles = [[1,5,2],3,[1,4]]
  
 # 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 157: Ligne 166:
         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'entier
 +        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 209:
  
 <code python> <code python>
-B = [[1,5,2],[3],[1,4]]+B = [[1,5,2],3,[1,4]]
 boucles = Boucles(B) boucles = Boucles(B)
  
Ligne 210: Ligne 221:
 </code>  </code> 
  
-Comme dans le 1er code, on peut introduire une liste de boucles incomplète (ex: [3au lieu de [0, 3, 1]), comme d'ailleurs on le ferait avec le "for i in range(3)" au lieu de "for i in range(0, 3, 1)".+Comme dans le 1er code, on peut introduire une liste de boucles incomplète (ex: 3 au lieu de [0, 3, 1]), comme d'ailleurs on le ferait avec le "for i in range(3)" au lieu de "for i in range(0, 3, 1)".
  
 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 "boucles", instance de classe, est un choix de l'utilisateur. 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 "boucles", instance de classe, est un choix de l'utilisateur.
boucles_imbriquees.txt · Dernière modification: 2008/12/17 08:20 de tyrtamos