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 :
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
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()
Est ce que vous auriez une idée de comment l'éviter?? Cela m'aiderait beaucoup !!
Partager