# -*- coding: utf-8 -*- ####ID 16-grandchildren #### Άσκηση: Γράψτε μια συνάρτηση σε python: #### def grandchildren(d) #### η οποία παίρνει ως παράμετρο ένα λεξικό d της μορφής #### #### {"Son1": "Father1", "Son2": "Father2", ...} #### #### όπου προσδιορίζεται ο πατέρας του κάθε γιού (εννοείται πως κάθε γιος εμφανίζεται μόνο μια φορά #### ως γιος αλλά όχι κατ' ανάγκη κάθε πατέρας). #### Η συνάρτησή σας θα πρέπει να επιστρέφει ένα άλλο λεξικό της μορφής #### #### {"Grandfather1": ["Grandson1", "Grandson2", ..], ...} #### #### το λεξικό δηλαδή όπου κλειδιά είναι όλοι οι παππούδες που συνάγονται από το λεξικό d και δίπλα #### σε κάθε παππού προσδιορίζεται η λίστα των εγγονών του (αναγκαστικά μη κενή). Δεν έχει σημασία #### η σειρά με την οποία αναφέρονται τα εγγόνια στη λίστα ενός παππού. #### #### Για παράδειγμα, αν #### d={"Mihalis": "Nikos", "Antonis": "Nikos", "Nikos": "Manolis", "Yannis": "Manolis", "Kostis": "Yannis", "Manolis": "Christos"} #### τότε θα πρέπει η συνάρτησή σας να επιστρέφει το λεξικό #### { "Manolis: ["Mihalis", "Antonis", "Kostis"], "Christos": ["Nikos", "Yannis"] } #### #### Γράφετε τον κώδικά σας αποκλειστικά ανάμεσα στις γραμμές START και STOP παρακάτω. #### Δεν πρέπει να πειράξετε καθόλου τις υπόλοιπες γραμμές #### #### Για να τρέξετε το πρόγραμμά σας (αποθηκευμένο στο αρχείο user.py) δίνετε την εντολή #### #### python user.py #### Απαιτήσεις: #### Στο τέλος του προγράμματός σας θα πρέπει να είναι ορισμένη η συνάρτηση και να υπολογίζει αυτό που ζητάει #### η άσκηση. Μη γράψετε εσείς κάποια κλήση στη συνάρτηση αλλά μόνο τον ορισμό της αρχίζοντας από τη γραμμή #### #### def grandchildren(d): #### #### Μην αλλάξετε ό,τι είναι από τη γραμμή START και πάνω #### #### ΔΕΝ ΕΠΙΤΡΕΠΟΝΤΑΙ εντολές print ή input στο πρόγραμμά σας #### ####START Από δω και κάτω γράφετε το πρόγραμμά σας.---------------------------------------------------------------- # Για να ελέγξετε το πρόγραμμά σας μπορείτε να τροποποιείτε το λεξικό dic και να ελέγχετε κάθε φορά το τι λεξικό παράγεται dic = {"Mihalis": "Nikos", "Antonis": "Nikos", "Nikos": "Manolis", "Yannis": "Manolis", "Kostis": "Yannis", "Manolis": "Christos"} def grandchildren(d): ####STOP Μην αλλάξετε ό,τι είναι από τη γραμμή αυτή και κάτω-------------------------------------------------------- print "The dictionary of sons and their father is: ", dic print "The dictionary of grandfathers and their grandsons is: ", grandchildren(dic)