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...) :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benoit Izac
Bonjour, Le 01/05/2022 Í 17:37, Dominique a écrit dans le message <t4m9ft$f1g$Â :
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
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)
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...) :
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).
Bonjour, Le 01/05/2022 Í 17:37, Dominique a écrit dans le message <t4m9ft$f1g$Â :
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
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).
LÍ , ça va dépasser mes petites connaissances. Je vais repousser Í plus tard. Merci encore pour le pprint, Dominique
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).
LÍ , ça va dépasser mes petites connaissances. Je vais repousser Í plus tard.
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).
LÍ , ça va dépasser mes petites connaissances. Je vais repousser Í plus tard. Merci encore pour le pprint, Dominique
Nicolas
Le 01/05/2022 Í 21:45, Dominique a écrit :
Le 01/05/2022 Í 20:37, Benoit Izac a écrit :
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])
Bon, j'ai déjÍ appris pprint. Merci :-)
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).
LÍ , ça va dépasser mes petites connaissances. Je vais repousser Í plus tard.
C'est une bonne occasion d'améliorer tes "petites connaissances" ;) C'est effectivement plus compliqué que juste un appel Í pprint() mais pas tant que ça. Le principe de base est de parser tous les clés X, et de mesurer la "plus grande" (en nombre de caractères). Mémoriser ce nombre pour plus tard. Faire la même chose avec les valeurs de X, les clés de Y et les valeur de Y. Ensuite, il ne reste plus qu'Í créer la/les chaine(s) de caractères avec le formatage voulu en prenant en compte les données calculées précédemment. Petit rappel : " " * 20 crée une chaine de 20 espaces. On peut donc faire quelque chose du genre : S = X_Name + "," + " " * (Max_X_Name_Length - len(X_Name)) + ... Bonne journée, Nicolas
Merci encore pour le pprint, Dominique
Le 01/05/2022 Í 21:45, Dominique a écrit :
Le 01/05/2022 Í 20:37, Benoit Izac a écrit :
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])
Bon, j'ai déjÍ appris pprint. Merci :-)
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).
LÍ , ça va dépasser mes petites connaissances. Je vais repousser Í plus
tard.
C'est une bonne occasion d'améliorer tes "petites connaissances" ;)
C'est effectivement plus compliqué que juste un appel Í pprint() mais
pas tant que ça.
Le principe de base est de parser tous les clés X, et de mesurer la
"plus grande" (en nombre de caractères). Mémoriser ce nombre pour plus tard.
Faire la même chose avec les valeurs de X, les clés de Y et les valeur de Y.
Ensuite, il ne reste plus qu'Í créer la/les chaine(s) de caractères avec
le formatage voulu en prenant en compte les données calculées précédemment.
Petit rappel : " " * 20 crée une chaine de 20 espaces.
On peut donc faire quelque chose du genre :
S = X_Name + "," + " " * (Max_X_Name_Length - len(X_Name)) + ...
(['x1 ', 12.456, 'y1 ', 12.96524], Â ['x ', 13.4587, 'y ', 13.223527289798024], Â ['x2 ', 18.6548, 'y2 ', 14.562])
Bon, j'ai déjÍ appris pprint. Merci :-)
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).
LÍ , ça va dépasser mes petites connaissances. Je vais repousser Í plus tard.
C'est une bonne occasion d'améliorer tes "petites connaissances" ;) C'est effectivement plus compliqué que juste un appel Í pprint() mais pas tant que ça. Le principe de base est de parser tous les clés X, et de mesurer la "plus grande" (en nombre de caractères). Mémoriser ce nombre pour plus tard. Faire la même chose avec les valeurs de X, les clés de Y et les valeur de Y. Ensuite, il ne reste plus qu'Í créer la/les chaine(s) de caractères avec le formatage voulu en prenant en compte les données calculées précédemment. Petit rappel : " " * 20 crée une chaine de 20 espaces. On peut donc faire quelque chose du genre : S = X_Name + "," + " " * (Max_X_Name_Length - len(X_Name)) + ... Bonne journée, Nicolas