Выделение функции, которая находит общее пересечение между массивом прямоугольников, однако метод возвращает False, когда он должен быть истинным. Функция вызывает функцию пересечения в прямоугольнике класса. Какие-либо предложения.Общие точки в массиве прямоугольников
Class Rectangle:
def intersects(self, other):
"""Return true if a rectangle intersects the other rectangle."""
return (self.top_right.x > other.bottom_left.x and self.bottom_left.x < other.top_right.x and self.bottom_left.y < other.top_right.y and self.top_right.y > other.bottom_left.y)
Class Many_Rect:
def common_point(self):
value = False
for i in range(len(self.rectangles) - 2):
for j in range(len(self.rectangles) - 1, -1, -1):
if self.rectangles[i].intersects(self.rectangles[j]) == True:
value = True
else:
return False
return True
Вы уже добавили некоторые выходные строки, чтобы увидеть, что может быть неправильным? Кстати, у вас есть функция записи, которая пересекается с двумя аргументами, а вы запускаете ее только с одним. Все в порядке? – Dominique
У меня есть выходы, которые все еще не видны, чтобы найти проблему. И да, это потому, что первый аргумент считается переменной класса, проверяемой так, что само является одним аргументом, а self.rectangles представляет собой другой @Dominique – Stephanie
Надеюсь, вы написали несколько тестовых примеров: протестировали ли вы, что ваш код считает, что два одинаковых прямоугольники пересекаются? – barny