# -*- coding: utf-8 -*- ####ID 29-rectangle-3 #### Άσκηση: (Συνέχεια της προηγούμενης) #### Για το class Rectangle (ορθογώνιο παραλληλόγραμμο στο επίπεδο) γράψτε #### μια μέθοδο intersectionarea που να παίρνει ως παράμετρο ένα άλλο Rectangle και #### να επιστρέφει το εμβαδό της τομής των δύο ορθογωνίων (η τομή είναι πάντα ορθογώνιο ή κενή). #### #### Γράφετε τον κώδικά σας αποκλειστικά ανάμεσα στις γραμμές START και STOP παρακάτω. #### Δεν πρέπει να πειράξετε καθόλου τις υπόλοιπες γραμμές #### #### Για να τρέξετε το πρόγραμμά σας (αποθηκευμένο στο αρχείο user.py) δίνετε την εντολή #### #### python user.py import math #### Απαιτήσεις: Περιγράφονται παρακάτω. #### #### Μην αλλάξετε ό,τι είναι από τη γραμμή START και πάνω #### #### ΔΕΝ ΕΠΙΤΡΕΠΟΝΤΑΙ εντολές print ή input στο πρόγραμμά σας #### ####START Από δω και κάτω γράφετε το πρόγραμμά σας.---------------------------------------------------------------- class Rectangle: # Εδώ ορίζεται το class Rectangle def __str__(self): # Μη πειράξετε αυτή τη μέθοδο """ Επιστρέφει την περιγραφή του αντικειμένου σε μορφή string. Αυτό είναι που τυπώνεται αν καλέσουμε τη συνάρτηση print για αυτό το αντικείμενο """ return '[Rectangle from ({x1}, {y1}) to ({x2},{y2})]'.format(x1=self.x1, y1=self.y1, x2=self.x2, y2=self.y2) def __init__(self, x1, y1, x2, y2): # Γράψτε αυτή τη μέθοδο ποη δημιουργεί ένα νέο Rectangle. # Αυτό θα πρέπει να έχει τα πεδία (attributes) x1, y1, x2, y2 """ Δημιουργούμε σημείο με συντεταγμένες x, y, z """ def area(self): # Γράψτε αυτή τη μέθοδο να επιστρέφει το εμβαδό του ορθογωνίου """Επιστρέφει το εμβαδό του ορθογωνίου""" def perimeter(self): """Επιστρέφει την περίμετρο του ορθογωνίου""" def double(self): """Επιστρέφει ένα ορθογώνιο με το ίδιο κέντρο και διπλάσιου μήκους πλευρές""" def intersectionarea(self, r): ####STOP Μην αλλάξετε ό,τι είναι από τη γραμμή αυτή και κάτω-------------------------------------------------------- R = Rectangle(0, 0, 1, 1) # Ορίζουμε ένα ορθογώνιο S = Rectangle(0.2, -1, 0.7, 2) # κι άλλο ένα print R, "intersect", S, "has area", R.intersectionarea(S)