Sujet : Re: Présentation propre d'une interpolation.
De : use.reply.to (at) *nospam* INVALID.ADDRESS (Benoit Izac)
Groupes : fr.comp.lang.pythonDate : 01. May 2022, 20:37:33
Autres entêtes
Message-ID : <87a6c13xqq.fsf@izac.org>
References : 1
Bonjour,
Le 01/05/2022 à 17:37, Dominique a écrit dans le message
<
t4m9ft$f1g$1@gioia.aioe.org> :
Soit une variable (x et y sont les valeurs à interpoler)
>
res=['x1 ', 12.456, 'y1 ', 12.96524], ['x ', 13.4587, 'y ',
13.223527289798024], ['x2 ', 18.6548, 'y2 ', 14.562]
>
(le tout sur une ligne, bien sûr)
>
Si j'appelle ma variable, elle se présente (avec Spyder) à peu près
correctement :
>
res
Out[73]:
(['x1 ', 12.456, 'y1 ', 12.96524],
['x ', 13.4587, 'y ', 13.223527289798024],
['x2 ', 18.6548, 'y2 ', 14.562])
>
Mais si je passe par print, ma variable apparaît sur une seule ligne.
>
print(res)
(['x1 ', 12.456, 'y1 ', 12.96524], ['x ', 13.4587, 'y ',
13.223527289798024], ['x2 ', 18.6548, 'y2 ', 14.562])
>
J'ai alors deux questions. Comment forcer le print à se présenter sur
3 lignes. Et, crise sur le râteau, comment avoir mes résultats alignés
à gauche comme suit (si ça passe dans usenet...) :
>
(['x1 ', 12.456, 'y1 ', 12.96524],
['x ', 13.4587, 'y ', 13.223527289798024],
['x2 ', 18.6548, 'y2 ', 14.562])
Réponse à la première question :
import pprint
pprint.pprint(res)
(['x1 ', 12.456, 'y1 ', 12.96524],
['x ', 13.4587, 'y ', 13.223527289798024],
['x2 ', 18.6548, 'y2 ', 14.562])
Pour la deuxième, c'est beaucoup plus compliqué, il faudrait créer une
classe et implémenter « __str__ » pour faire ce que tu veux (avec des
f-strings par exemple).
-- Benoit Izac