B. Классная точка 2.0

Давайте расширим функционал класса, написанного в прошлой задаче.

Реализуйте методы:

  • move, который перемещает точку на заданное расстояние по осям x и y;
  • length, который определяет до переданной точки расстояние, округлённое до сотых.

Примечание

Ваше решение должно содержать только классы и функции.
В решении не должно быть вызовов инициализации требуемых классов.

Пример

Ввод

point = Point(3, 5)
print(point.x, point.y)
point.move(2, -3)
print(point.x, point.y)

Вывод

3 5
5 2

Ввод

first_point = Point(2, -7)
second_point = Point(7, 9)
print(first_point.length(second_point))
print(second_point.length(first_point))

Вывод

16.76
16.76

Решение

Добавляем к нашему классу из прошлого задания методы move() и length(). Метод представляет себой обычную функцию за исключением того, что во входных параметрах обязательно на первом месте присутствует слово self.

Посмотреть код

Решение

Python
class Point:
    def __init__(self, x, y) -> None:
        self.x = x
        self.y = y

    def move(self, new_x, new_y):
        self.x += new_x
        self.y += new_y

    def length(self, point):
        result = ((point.x - self.x) ** 2 + (point.y - self.y) ** 2) ** 0.5
        return round(result, 2)
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии