Я новичок в питоне.
Мне нужно определить метод DistanceFromOther(), который принимает другую точку в качестве фактора и возвращает расстояние между собой и другой точкой.
Класс Point предназначен для обработки точек (x, y) на двумерной плоскости как объектов.
Это код, который я сделал.
import math
class Point:
def __init__(self, x=0, y=0):
self._x= x
self._y= y
def dFO(self, a, b):
self.a = a
self.b = b
otResult = math.sqrt(math.pow(self._x-self.a,2)+math.pow(self._y-self.b,2))
return otResult
def __str__(self):
return f"({self._x}, {self._y})"
Я сделал два объекта a и b.
a = Point(1,1)
b = Point(2,3)
Мне нужно вычислить расстояние между a и b с помощью метода dFO(). Я должен ввести «b» в качестве фактора, но я сделал метод для ввода значений точек x, y. Я не знаю, как ввести объект «b», который я сделал в качестве фактора.
a.dFO(2,3)
a.dFO(b)
Первый — это то, что я сделал, а второй — то, что я хочу сделать.
Если вы знаете, как это сделать, пожалуйста, помогите мне!
Вам просто нужно получить доступ к атрибутам _x
и _y
:
import math
class Point:
def __init__(self, x=0, y=0):
self._x= x
self._y= y
def distanceFromOther(self, b):
x = b._x
y = b._y
otResult = math.sqrt(math.pow(self._x-x,2) + math.pow(self._y-x,2))
return otResult
def __str__(self):
return f"({self._x}, {self._y})"
Кроме того, вам не нужно преобразовывать параметры метода в атрибуты этого объекта.
Почему
self.a = a
? Что не так сdef distanceFromOther(self, b):
и использованиемb._x
иb._y
внутри?