Створіть клас з нуля
Ви — розробник Python, який пише пакет для візуалізації. Для будь-якого елемента у візуалізації ви хочете вміти визначати позицію елемента, відстань до інших елементів і легко виконувати горизонтальне або вертикальне віддзеркалення.
Найпростіший елемент будь-якої візуалізації — це окрема точка. У цій вправі ви напишете клас для точки на площині з нуля.
Ця вправа є частиною курсу
Об'єктноорієнтоване програмування в Python
Інструкції до вправи
Оголосіть клас Point, який має:
- Два атрибути
xіy— координати точки на площині; - Конструктор, що приймає два аргументи
xіy, які ініціалізують відповідні атрибути. Ці аргументи мають мати типове значення0.0; - Метод
distance_to_origin(), який повертає відстань від точки до початку координат. Формула: \(\sqrt{x^2 + y^2}\). - Метод
reflect(), який віддзеркалює точку відносно осі x або y:- приймає один аргумент
axis, - якщо
axis="x", встановлює атрибутy(це не помилка!) у від'ємне значення атрибутаy, - якщо
axis="y", встановлює атрибутxу від'ємне значення атрибутаx, - для будь-якого іншого значення
axisвиводить повідомлення про помилку.
- приймає один аргумент
Примітка: ви можете використати функцію sqrt() з пакета numpy або math, але який би пакет ви не обрали, не забудьте імпортувати його перед оголошенням класу!
Щоб перевірити свою роботу, ви маєте змогу запустити такий код без помилок:
pt = Point(x=3.0)
pt.reflect("y")
print((pt.x, pt.y))
pt.y = 4.0
print(pt.distance_to_origin())
і отримати результат
(-3.0,0.0)
5.0
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Write the class Point as outlined in the instructions