[Python] Utilisation de sqrt inattendue

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
fabrice62

[Python] Utilisation de sqrt inattendue

Message non lu par fabrice62 »

Bonjour,

Je suis débutant en Python mais pas en programmation (j'ai fait du C++).
J'aimerai calculer la racine carré d'un réel dans un programme utilisant aussi des complexes.

je fais :

Code : Tout sélectionner

from math import *
from cmath import *
if sqrt(2)<3:
    print('oui')
et j'ai une erreur :

Code : Tout sélectionner

TypeError: unorderable types: complex() < int()
pourtant sqrt(2) n'est pas un complexe ! Pourquoi Python me renvoie un complexe dans ce cas ?
Lors de la surcharge de la fonction, Python n'est pas capable de choisir la bonne version ?

J'aimerai une solution simple car c'est pour des élèves de terminale S donc pas des programmeurs.

Merci,
Fabrice.
rebouxo
Modérateur honoraire
Modérateur honoraire
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: Python : utilisation de sqrt inattendue

Message non lu par rebouxo »

cmath et math définissent tous les deux sqrt, il faut donc les importer autrement :
import cmath ou import cmath as c -> il faut précéder tous les noms de fonctions définies par cmath de cmath. ou de c. : le sqrt de cmath est accessible par cmath.sqrt ou c.sqrt.

On peut alors importer math via from math import *.

Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.
fabrice62

Re: Python : utilisation de sqrt inattendue

Message non lu par fabrice62 »

Merci Olivier.