Développer une fonction qui trouve une intersection commune entre un tableau de rectangles. Cependant, la méthode retourne False lorsqu'elle devrait être vraie. La fonction appelle la fonction d'intersection dans le rectangle de la classe. Aucune suggestion.Points communs dans un tableau de rectangles
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
Avez-vous déjà ajouté des lignes de sortie afin de voir ce qui ne va pas? A propos, vous avez écrit une fonction qui croise deux arguments, alors que vous ne lancez qu'une fonction. Est-ce que tout va bien? – Dominique
J'ai couru les sorties, ne peut toujours pas voir pour trouver le problème. Et oui c'est parce que le premier argument est considéré comme la variable de classe en train de tester si self est un argument et que self.rectangles représente autre @Dominique – Stephanie
J'espère que vous avez écrit quelques cas de test - avez-vous testé si votre code pense que deux identiques les rectangles se croisent? – barny