Sujet : Re: Affichage en notation scientifique.
De : zzz (at) *nospam* aol.com (Dominique)
Groupes : fr.comp.lang.pythonDate : 14. Sep 2022, 17:25:39
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <tfsrpk$30rm6$1@dont-email.me>
References : 1 2 3
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2
Le 14/09/2022 à 17:00, Stefan Ram a écrit :
Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> writes:
1) pour formater un flottant en notation scientifique :
"%e" % (123456.0) # ou "{:e}".format (123456.0)
vec des tas de variantes (cf.
https://docs.python.org/3/library/string.html#formatspec)
Dans l'énoncé du problème, une variante précise était en
effet indiquée : 1.236354e6. Je ne l'obtiens ici qu'avec
"replace".
f"{chiffre:e}".replace( "e+0", "e" ).replace( "e-0", "e-" )
2) Pour extraire mantisse est exposant, il y a math.frexp, mais
On pourrait aussi utiliser des chaînes de caractères pour la
séparation.
def separez( chiffre ):
notation = f"{chiffre:.6e}"\
.replace( "e+0", "e" )\
.replace( "e-0", "e-" )
pos = notation.find( 'e' )
return notation[ :pos ], notation[ pos+1: ]
( mantisse, exposant )= separez( 1236354 )
print( mantisse, exposant )
Bonsoir,
J'ai trouvé cette solution :
from math import log10
test=int(input('Nombre '))
exp=int(log10(test))
print(exp)
Pour résoudre certains exercices du livre, c'est de cet exposant dont j'ai besoin.
Je vous remercie pour votre aide,
Dominique