Page 1 sur 1

Python : utilisation de sqrt inattendue

MessagePosté: Dimanche 14 Janvier 2018, 11:45
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 :
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.

Re: Python : utilisation de sqrt inattendue

MessagePosté: Dimanche 14 Janvier 2018, 14:17
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

Re: Python : utilisation de sqrt inattendue

MessagePosté: Lundi 15 Janvier 2018, 16:45
par fabrice62
Merci Olivier