Convertir une chaine de caractères en flottant sous Python

Bonjour,
Le programme ci-dessous fonctionne bien si je répond par exemple 0.0001 à la question de la ligne 2.
Par contre, si je répond 10**(-4), on me renvoie qu'il est impossible de convertir la chaine de caractère en nombre flottant.
Auriez vous une solution simple pour résoudre ce problème ?
Merci


Réponses

  • skazeriahm
    Modifié (December 2021)
    Bonjour,
    comme souvent lorsqu'il s'agit de programmer, il faut que tu saches précisément comment tu souhaites que ton programme se comporte :
    tu veux qu'il soit capable de comprendre 10**(-4) comme $10^{-4}$ ? la notation scientifique standard est 1e-4; l'instruction float() que tu utilises est capable d'interpréter correctement une telle entrée.
  • C'est exactement ce que je voulais faire ! Merci beaucoup.
  • nicolas.patrois
    Modifié (December 2021)
    Pour évaluer correctement "10**(-4)", utilise à la place la fonction eval mais ça va faire hurler les puristes.
    Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
Connectez-vous ou Inscrivez-vous pour répondre.