# -*- coding: utf-8 -*- ####ID 23-sublists #### Άσκηση: Γράψτε μια συνάρτηση σε python: #### def sublists(L, m) #### όπου L μια λίστα της οποίας τα στοιχεία είναι διαφορετικοί μεταξύ τους ακέραιοι και m ένας ακέραιος. #### Η συνάρτησή σας θα πρέπει να επιστρέφει το πλήθος όλων των υπολιστών της L που έχουν #### άθροισμα στοιχείων ίσο με m. Ως υπολίστα μιας λίστας L εννοούμε κάθε λίστα που μπορεί να προκύψει από την L #### αν από την L διαγράψουμε κάποια στοιχεία της (ακόμη και όλα ή ακόμη και κανένα στοιχείο της). #### #### Για παράδειγμα, αν L=[1, 2, 3, 4] και m=5 τότε η απάντηση είναι 2 (οι υπολίστες είναι οι [1, 4] και [2, 3]). #### #### Ο πιο βολικός τρόπος είναι να φτιάξετε μια αναδρομική συνάρτηση (συνάρτηση που καλεί τον εαυτό της). #### Χωρίστε τις υπολίστες με άθροισμα m σε δύο (ξένες μεταξύ τους) κατηγορίες: αυτές που περιέχουν το πρώτο #### στοιχείο της L και αυτές που δεν το περιέχουν. #### #### Γράφετε τον κώδικά σας αποκλειστικά ανάμεσα στις γραμμές START και STOP παρακάτω. #### Δεν πρέπει να πειράξετε καθόλου τις υπόλοιπες γραμμές #### #### Για να τρέξετε το πρόγραμμά σας (αποθηκευμένο στο αρχείο user.py) δίνετε την εντολή #### #### python user.py LL = input("Give a list of different integers (Python style): ") mm = int(raw_input("Give an integer: ")) #### Απαιτήσεις: #### Στο τέλος του προγράμματός σας θα πρέπει να είναι ορισμένη η συνάρτηση και να υπολογίζει αυτό που ζητάει #### η άσκηση. Μη γράψετε εσείς κάποια κλήση στη συνάρτηση αλλά μόνο τον ορισμό της αρχίζοντας από τη γραμμή #### #### def sublists(L, m) #### #### Μην αλλάξετε ό,τι είναι από τη γραμμή START και πάνω #### #### ΔΕΝ ΕΠΙΤΡΕΠΟΝΤΑΙ εντολές print ή input στο πρόγραμμά σας #### ####START Από δω και κάτω γράφετε το πρόγραμμά σας.---------------------------------------------------------------- def sublists(L, m): ####STOP Μην αλλάξετε ό,τι είναι από τη γραμμή αυτή και κάτω-------------------------------------------------------- print "The number is: ", sublists(LL, mm)