####ID 43-union-of-intervals #### Άσκηση: #### #### Σε αυτή την άσκηση θα πρέπει να γράψετε μια συνάρτηση #### #### merge(L) #### #### όπου L είναι μια λίστα ζευγών ακεραίων #### #### L = [ [a1, b1], [a2, b2], ... ] #### #### Κάθε στοιχείο της L παριστάνει ένα κλειστό διάστημα (όχι σημείο) στον πραγματικό άξονα (και άρα a1 < b1, a2 < b2 κλπ.). #### Η συνάρτησή σας θα πρέπει να επιστρέφει μια λίστα της ίδιας μορφής που θα είναι η λίστα των *ξένων* διαστημάτων #### που προκύπτει αν πάρουμε την ένωση των διαστημάτων της L. Τα στοιχεία της λίστας σας θα πρέπει να είναι #### διατεταγμένα κατ' αύξουσα σειρά. #### #### *** Παράδειγμα *** #### #### Αν L=[ [1, 3], [8, 10], [9, 11], [-1, 2], [9, 10] ] τότε το αποτέλεσμα πρέπει να είναι η λίστα #### #### [ [-1,3], [8, 11] ] #### #### Αν L=[ [2, 3], [0, 2] ] τότε το αποτέλεσμα είναι η λίστα [ [0, 3] ]. #### #### *** Γενικές Οδηγίες: *** #### #### Γράφετε τον κώδικά σας αποκλειστικά ανάμεσα στις γραμμές START και STOP παρακάτω. #### Δεν πρέπει να πειράξετε καθόλου τις υπόλοιπες γραμμές #### #### Για να τρέξετε το πρόγραμμά σας (αποθηκευμένο στο αρχείο user.py) δίνετε την εντολή #### #### python3 user.py #### #### ενώ για να το ελέγξετε με τον tester δίνετε την εντολή #### #### python3 tester.py #### #### φροντίζοντας τα αρχεία user.py και tester.py να είναι στον ίδιο κατάλογο (directory) #### #### ****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ**** #### Μη γράψετε καμιά εντολή εισόδου (input) ή εξόδου (print) #### στον κώδικα που θα βάλετε ανάμεσα στα START και STOP. Αυτά είναι ήδη γραμμένα. #### Αν βάλετε και σεις το πρόγραμμά σας βγαίνει λάθος. #### #### Στις παρακάτω γραμμές δίνονται ενδεικτικά κάποια δεδομένα. Το πρόγραμμα δε θα ελεγχθεί μόνο με αυτά. L = [ [1, 3], [8, 10], [9, 11], [-1, 2], [9, 10] ] #### print("Η λίστα L: {}".format(L)) #### #### #### Υποθέσεις: #### #### Στο σημείο αυτό έχει οριστεί η λίστα L #### #### Απαιτήσεις: #### #### Στο τέλος του προγράμματός σας θα πρέπει #### #### η συνάρτηση merge #### #### να υπολογίζει αυτό που περιγράφεται στην εκφώνηση. #### Μην αλλάξετε ό,τι είναι από τη γραμμή αυτή και πάνω ####START Από δω και κάτω γράφετε το πρόγραμμά σας.---------------------------------------------------------------- def merge(L): #### ####STOP Μην αλλάξετε ό,τι είναι από τη γραμμή αυτή και κάτω-------------------------------------------------------- print("Η απάντηση είναι: {}.".format(merge(L))) ####