Bonjour,

J'ai un petit problème de logique pendant la programmation de mon programme :

Je possède une liste avec des éléments dedans, et je souhaite écrire sur un fichier en sortie certains de ses résultats si une condition est réalisée :

En gros, mes listes sont de tailles différentes, elles possèdents toutes des élements sous-listes, si la longueur de ces sous-listes est de 6, je veux écrire le 6ème éléments sur le fichier sinon je veux écrire une phrase type.

Application :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
for blk in lstBlkInPrc: # blk designe la sous liste de la liste lstBlkInPrc
 
     if len(blk) == 6  : # cela veut dire qu'il y'a un patch
        aki = len(blk[5])
 
        for a in range(aki):
            fich.write("%d\t%d\t%d\t%d\t%d\t%d\t"%(blk[5][a][0][0],blk[5][a][0][1],blk[5][a][0][2],blk[5][a][0][3],blk[5][a][0][4],blk[5][a][0][5]))
            fich.write("%d\t%d\t%d\t%d\t%d\n"%(blk[5][a][1],blk[5][a][2],blk[5][a][3],blk[5][a][4],blk[5][a][5]))
 
     elif len(blk) == 5 :
 
          fich.write("0	 0	0	0	0	0	0	0	0	0	0	0\n")
 
fich.close()
Le problème se pose dans le elif, car je retrouve dans mon fichier de sortie plusieurs fois l'instruction d'ecriture remplie de zeros (en meme temps c normal puisque c dans une boucle for) et je voudrais eviter ça, mais je n'y arrive pas

Est ce que vous auriez une idée de comment l'éviter?? Cela m'aiderait beaucoup !!