Я создаю программу, которая включает в себя класс прямоугольника, а также класс точки и холста. Одна из меньших функций, заданная нами, является общей точечной функцией, которая определяет, имеет ли холст под рукой общую точку в своем массиве прямоугольников. Я получаю ошибку индекса списка, но я не понимаю, почему.Общая точка в массиве прямоугольников
Вот общая функция точки:
def common_point(self):
'''(Rectangle) -> Boolean
Returns True if rectangles in canvas all ahare a common point'''
common = False
for i in range(len(self.data)):
for j in range(len(self.data),-1,-1):
if self.data[i].intersects(self.data[j]) == True:
common = True
else:
return False
return common
и здесь функция пересекает ее вызова:
def intersects(self,other):
'''(Rectangle, Rectangle) -> Boolean
Returns True if the two Rectangles intersect'''
return not(self.p2.y < other.p1.y or self.p1.y > other.p2.y or self.p2.x < other.p1.x or self.p1.x > other.p2.x)
любая помощь, почему бы весьма признателен
Что такое сообщение об ошибке? Указывает ли номер строки? –
@ClaytonWahlstrom, если self.data [i] .intersects (self.data [j]) == True: IndexError: индекс индекса за пределами диапазона - это ошибка, которую он читает –
Ниже объясняется ответ. Диапазон пуска слишком высок. –