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 |
print(ComplexNumber(1, 1) + ComplexNumber(2, 2)); print(ComplexNumber(2, 3) - ComplexNumber(1, 1)); print(ComplexNumber(2, 3) * ComplexNumber(1, 1)); print(ComplexNumber(2, 2) / ComplexNumber(1, 1)); print(ComplexNumber(1, 1) - ComplexNumber(2, 3)) | 3 + 3 i
1 + 2 i
-1 + 5 i
2.0 + 0.0 i
-1 + -2 i |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB