Mais je voudrais afficher la date dans un cartouche de longueur toujours égale à 17, en justifiant les caractères à gauche, tout en conservant le formatage de chaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 t = ('Av2476','21 mai 1927','Linbergh atterrit à Paris','Atlantique') u = ('Av4839','11 septembre 2001','Attentat sur WTC','New York') print '%s - %s - %s - %s' % t print '%s - %s - %s - %s' % u # affiche: Av2476 - 21 mai 1927 - Linbergh atterrit à Paris - Atlantique Av4839 - 11 septembre 2001 - Attentat sur WTC - New York
17 correspond à la plus longue date possible, quand il y a 'septembre'.
ch.ljust(17) justifie à gauche ch dans un cartouche de longueur 17
Comme t[0] fait toujours 6 caractères, cela revient à justifier t[0]+' - '+t[1] à gauche dans un cartouche de longueur 6+3+17 = 26.
Mais je ne sais pas comment introduire ljust(26) dans l'expression plus haut sans avoir à découper le tuple. Je voudrais éviter la solution suivante:
Quelqu'un a-t-il une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 t = ('Av2476','21 mai 1927','Linbergh atterrit à Paris','Atlantique') u = ('Av4839','11 septembre 2001','Attentat sur WTC','New York') print ('%s - %s' % t[0:2]).ljust(26) + ' - %s - %s' % t[2:4] print ('%s - %s' % u[0:2]).ljust(26) + ' - %s - %s' % u[2:4] # qui affiche bien: Av2476 - 21 mai 1927 - Linbergh atterrit à Paris - Atlantique Av4839 - 11 septembre 2001 - Attentat sur WTC - New York
Partager