ПочатиПочніть безкоштовно

Створіть клас з нуля

Ви — розробник 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 виводить повідомлення про помилку. Віддзеркалення точки відносно осей y та x

Примітка: ви можете використати функцію 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
Редагувати та запускати код