Calculer le module d'un complexe Python

Discutez d'informatique ici !
ludovic44
Membre Naturel
Messages: 60
Enregistré le: 12 Juin 2021, 14:22

Calculer le module d'un complexe Python

par ludovic44 » 11 Aoû 2021, 10:00

Bonjour, j'ai un petit problème avec ce code qui calcul le module d'un nombre complexe:

from cmath import *
def module(z):
a=z.real
b=z.imag
m=sqrt(a**2+b**2)
return(m)

Le programme fonctionne mais renvoie un nombre complexe. Par exemple, pour z=2i, la sortie sera 2+0i, ce qui pose des problèmes lorsque j'appelle cette fonction.

Merci pour votre aide



danyL
Membre Rationnel
Messages: 681
Enregistré le: 03 Jan 2015, 15:29

Re: Calculer le module d'un complexe Python

par danyL » 11 Aoû 2021, 20:06

bonjour
j'ai fait des essais, le résultat est différent suivant qu'on importe math ou cmath
d'apres les docs python, la methode abs() calcule le module d'un complexe

Code: Tout sélectionner
from math import *

def module(z):
    a=z.real
    b=z.imag
    m=sqrt(a**2+b**2)
    return(m)

z = complex(1, 2)
resultat = module(z)
print ("resultat =" , resultat)

print ("abs() =", abs(z))


avec import de cmath :
resultat = (2.23606797749979+0j)
abs() = 2.23606797749979

avec import de math :
resultat = 2.23606797749979
abs() = 2.23606797749979

tu peux aussi importer les 2 et préciser de quel import vient la fonction :
import math
import cmath
(...)
m=cmath.sqrt(a**2+b**2)
-> sera en notation complexe

m=math.sqrt(a**2+b**2)
-> sera en nombre reel

nb : pour poster du code sur un forum, il vaut mieux utiliser la balise "code" dans l'éditeur, pour que les tabulations soient respectées

ludovic44
Membre Naturel
Messages: 60
Enregistré le: 12 Juin 2021, 14:22

Re: Calculer le module d'un complexe Python

par ludovic44 » 12 Aoû 2021, 08:22

Merci pour cette réponse, je vais donc réfléchir à la meilleur solution à adopter :-)
Je prends note pour la balise "code", bonne journée !

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite