ComenzarEmpieza gratis

Escribir una clase desde cero

Eres un desarrollador de Python que escribe un paquete de visualización. Para cualquier elemento de una visualización, quieres poder decir la posición del elemento, a qué distancia está de otros elementos, e implementar fácilmente el volteo horizontal o vertical .

El elemento más básico de cualquier visualización es un único punto. En este ejercicio, escribirás desde cero una clase para un punto de un plano.

Este ejercicio forma parte del curso

Programación orientada a objetos en Python

Ver curso

Instrucciones de ejercicio

Define la clase Point que tiene:

  • Dos atributos, x y y_ - las coordenadas del punto en el plano;
  • Un constructor que acepta dos argumentos, x y y, que inicializan los atributos correspondientes. Estos argumentos deben tener el valor por defecto de 0.0;
  • Un método distance_to_origin() que devuelve la distancia del punto al origen. La fórmula es \(\sqrt{x^2 + y^2}\).
  • Un método reflect(), que refleja el punto respecto al eje x o y:
    • acepta un argumento axis,
    • si axis="x", establece el atributo y (¡no es una errata!) en el valor negativo del atributo y,
    • si axis="y", establece el atributo x en el valor negativo del atributo x,
    • para cualquier otro valor de axis, imprime un mensaje de error. Reflexión de un punto respecto a los ejes y y x

Nota: Puedes elegir utilizar la función sqrt() del paquete numpy o del paquete math, pero sea cual sea el paquete que elijas, no olvides importarlo antes de empezar la definición de la clase!


Para comprobar tu trabajo, deberías poder ejecutar el siguiente código sin errores:_

pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())

y devuelve el resultado_

(-3.0,0.0)
5.0

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Write the class Point as outlined in the instructions
Editar y ejecutar código