Deutsch   English   Français   Italiano  
<87v8ujuhy1.fsf@universite-de-strasbourg.fr.invalid>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!3.us.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!news.mixmin.net!aioe.org!Faqf6A55NG1s8DSVkh3L9A.user.46.165.242.75.POSTED!not-for-mail
From: Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>
Newsgroups: fr.comp.lang.python
Subject: Re: Mon code est lourd
Date: Fri, 06 May 2022 11:30:14 +0200
Organization: =?utf-8?Q?Universit=C3=A9?= de Strasbourg
Message-ID: <87v8ujuhy1.fsf@universite-de-strasbourg.fr.invalid>
References: <62742832$0$22051$426a74cc@news.free.fr>
	<87zgjvvi8j.fsf@universite-de-strasbourg.fr.invalid>
	<t528sl$1oog$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Injection-Info: gioia.aioe.org; logging-data="3451"; posting-host="Faqf6A55NG1s8DSVkh3L9A.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
Cancel-Lock: sha1:bd1hNJX8tt1c7RN+KsPjAxLDD9U=
X-Notice: Filtered by postfilter v. 0.9.2
Bytes: 2915
Lines: 50

Dominique <zzz@aol.com.invalid> writes:

> Le 05/05/2022 =C3=A0 22:26, Alain Ketterlin a =C3=A9crit=C2=A0:
>
>> dic =3D { "{:02d}".format (i+1) : [] for i in range (12) }
>
> Je ne connaissais pas du tout cette m=C3=A9thode pour formater un
> dictionnaire. C'est tr=C3=A8s int=C3=A9ressant, merci :-)

Pour =C3=AAtre pr=C3=A9cis : il ne s'agit pas de formater un dictionnaire, =
mais de
formater des nombres qui servent de cl=C3=A9s dans le dictionnaire.

En fait, je pr=C3=A9f=C3=A8re =C2=AB "%02d" % (i+1) =C2=BB mais c'est parce=
 que j'ai plus
l'habitude de printf en C.

> Je d=C3=A9couvre l'utilisation du d apr=C3=A8s avoir, par hasard, test=C3=
=A9 x
> (hexad=C3=A9cimal) puis, bien s=C3=BBr, o pour octal et b pour binaire.

Oui, ce sont toutes les fa=C3=A7ons de formater un nombre entier. "02d"
signifie "=C3=A9criture d=C3=A9cimale" (d) sur 2 caract=C3=A8res au moins, =
en
remplissant =C3=A0 gauche avec des "0" si n=C3=A9cessaire.

> Je comprends moins bien la sortie avec c et surtout au-del=C3=A0 de 8 :

"c" signifie caract=C3=A8re, le pr=C3=A9fixe "0" est pris comme caract=C3=
=A8re de
remplissage, et le "2" signifie toujours la largeur minimale du
r=C3=A9sultat.

> '0\x08': [],
> '0\t': [],
> '0\n': [],
> '0\x0b': [],
> '0\x0c': []

Cela revient =C3=A0 demander de formater des caract=C3=A8res de codes 8, 9,=
 etc.
sur 2 caract=C3=A8res. Toutes les cha=C3=AEnes ci-dessus ont bien une longu=
eur 2,
mais il faut utiliser des notations pour repr=C3=A9senter ceux qui n'ont pas
de glyphe particulier (tous ici). Avec "{:02c}".format(97), on obtient
'0a' ('a' est le caract=C3=A8re de code 97). Le cas de 9 et 10 est sp=C3=A9=
cial
parce qu'il existe une notation, mais '\t' par exemple a exactement le
m=C3=AAme sens que '\x09' (et '\n' que '\0x0a').

-- Alain.