Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3012

Re: conflit entre modules ? surcharge de sqrt

From Benoit Izac <use.reply.to@INVALID.ADDRESS>
Newsgroups fr.comp.lang.python
Subject Re: conflit entre modules ? surcharge de sqrt
Date 2018-01-14 11:46 +0100
Message-ID <87bmhwzpji.fsf@izac.org> (permalink)
References <5a5b2e78$0$4843$426a74cc@news.free.fr>

Show all headers | View raw


Bonjour,

Le 14/01/2018 à 11:18, Fabrice a écrit dans le message
<5a5b2e78$0$4843$426a74cc@news.free.fr> :

> 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 :
>
> 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 ?

Parce que sqrt() provient du module cmath.

> Lors de la surcharge de la fonction, Python n'est pas capable de
> choisir la bonne version ?

Il n'y a pas de surcharge de fonction comme en C++ ; la fonction sqrt()
du module math n'est plus accessible car remplacée par celle de cmath.

Trois solutions :

import math
import cmath

if math.sqrt(2) < 3:
    print('oui')
--------------------------------------------------
from math import sqrt
from cmath import sqrt as csqrt

if sqrt(2) < 3:
    print('oui')
--------------------------------------------------
if 2**0.5 < 3:
    print('oui')

-- 
Benoit Izac

Back to fr.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

conflit entre modules ? surcharge de sqrt Fabrice <professeur.leclercq@gmail.com> - 2018-01-14 11:18 +0100
  Re: conflit entre modules ? surcharge de sqrt Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2018-01-14 11:46 +0100
    Re: conflit entre modules ? surcharge de sqrt Fabrice <professeur.leclercq@gmail.com> - 2018-01-14 12:06 +0100
      Re: conflit entre modules ? surcharge de sqrt Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2018-01-14 12:18 +0100
  Re: conflit entre modules ? surcharge de sqrt Pierre Maurette <maurette.pierre@free.fr> - 2018-01-14 11:53 +0100
    Re: conflit entre modules ? surcharge de sqrt Fabrice <professeur.leclercq@gmail.com> - 2018-01-14 12:07 +0100

csiph-web