viernes, 30 de enero de 2015

Usar Python como una calculadora - III

Los números complejos también están soportados; los números imaginarios son escritos con el sufijo de j o J. Los números complejos con un componente real que no sea cero son escritos como (real+imagj), o pueden ser escrito con la función complex(real, imag).

>>> 1j * 1J
(-1+0j)
>>> 1j * complex(0,1)
(-1+0j)
>>> 3+1j*3
(3+3j)
>>> (3+1j)*3
(9+3j)
>>> (1+2j)/(1+1j)
(1.5+0.5j)

Los números complejos son siempre representados como dos números de punto flotante, la parte real y la imaginaria. Para extraer estas partes desde un número complejo z, usá z.real y z.imag.

>>> a=1.5+0.5j
>>> a.real
1.5
>>> a.imag
0.5


La función de conversión de los punto flotante y enteros (float(), int() y long()) no funciona para números complejos; aquí no hay una forma correcta de convertir un número complejo a un número real. Usá abs(z) para obtener esta magnitud (como un flotante) o z.real para obtener la parte real.

>>> a=3.0+4.0j
>>> float(a)
...
TypeError: can't convert complex to float
>>> a.real
3.0
>>> a.imag
4.0
>>> abs(a) # sqrt(a.real**2 + a.imag**2)
5.0
>>>

No hay comentarios:

Publicar un comentario