Ваш расчет немного запутан:
slope_from_origin
- это наклон, который отрезок линии проходит через начало координат Point(0, 0)
, и данная точка составляет.
slope_between_two_points
это наклон, который образует отрезок прямой, проходящий через две заданные точки.
slope
- это скаляр, вы пытаетесь построить с ним Point
и вернуть его
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def slope_between_two_points(self, p1=Point(0, 0)): # uses default argument to define the origin
if p1.x - self.x == 0:
return float('inf') # prevent dividing by zero when slope is infinite
return (p1.y - self.y) / (p1.x - self.x)
def slope_from_origin(self):
return self.slope_between_two_points()
def __str__ (self):
return str(slope)
p = Point(6, 7)
q = Point(3, 4)
print(p.slope_between_two_points(q), p.slope_from_origin(), q.slope_from_origin())