Escreva uma classe do zero
Você é um desenvolvedor Python criando um pacote de visualização. Para qualquer elemento em uma visualização, você quer poder dizer a posição do elemento, a distância dele em relação a outros elementos e facilmente fazer uma inversão horizontal ou vertical.
O elemento mais básico de qualquer visualização é um único ponto. Neste exercício, você escreverá do zero uma classe para um ponto em um plano.
Este exercício faz parte do curso
Programação orientada a objetos em Python
Instruções do exercício
Defina a classe Point que possui:
- Dois atributos,
xey- as coordenadas do ponto no plano; - Um construtor que aceita dois argumentos,
xey, que inicializam os atributos correspondentes. Esses argumentos devem ter o valor padrão de0.0; - Um método
distance_to_origin()que mostra a distância do ponto até a origem. A fórmula para isso é \(\sqrt{x^2 + y^2}\). - Um método
reflect(), que reflete o ponto em relação ao eixo x ou y:- aceita um argumento
axis, - se
axis="x", ele define o atributoy(não é um erro de digitação!) para o valor negativo do atributoy, - se
axis="y", define o atributoxcomo o valor negativo do atributox, - para qualquer outro valor de
axis, mostra uma mensagem de erro.
- aceita um argumento
Observação: Você pode optar por usar a função sqrt() do pacote numpy ou math, mas, seja qual for o pacote escolhido, não se esqueça de importá-lo antes de iniciar a definição da classe!
Para verificar seu trabalho, você deve ser capaz de executar o código a seguir sem erros:
pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())
e retornar a saída
(-3.0,0.0)
5.0
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Write the class Point as outlined in the instructions