Classe ComplexNumber
É pedido que crie uma classe ComplexNumber
que encapsule o comportamento de um número complexo. Um número complexo é um número que pode ser expresso na forma a + bi
, onde a
e b
são números reais, e i
é uma solução da equação . Como nenhum número real satisfaz esta equação,
i
é chamado de número imaginário ().
A sua classe ComplexNumber
deve ter os seguintes atributos:
real
: A parte real do número complexo (a
)imaginary
: A parte imaginária do número complexo (b
)
Tem de implementar estes métodos mágicos:
__add__
: Este método deve somar dois números complexos e retornar um novo objetoComplexNumber
que representa o resultado:.
__sub__
: Este método deve subtrair um número complexo de outro e retornar um novo objetoComplexNumber
que representa o resultado:.
__mul__
: Este método deve multiplicar dois números complexos e retornar um novo objetoComplexNumber
que representa o resultado:.
__truediv__
: Este método deve dividir um número complexo por outro e retornar um novo objetoComplexNumber
que representa o resultado:.
Além dos métodos mágicos numéricos, deve também implementar um método mágico __str__
que retorna o número complexo como <real> + <imaginary> i
.
Entrada | Saída |
---|---|
| 3 + 3 i |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB