Problème d'écriture dans une boucle for
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:
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 :cry:
Est ce que vous auriez une idée de comment l'éviter?? Cela m'aiderait beaucoup !!