####ID 51-partition #### #### Άσκηση: #### #### Γράψτε μια συνάρτηση σε python: #### #### def partitions(amount, coins) #### #### όπου amount είναι ένας ακέραιος αριθμός και coins είναι μια λίστα διαφορετικών θετικών ακεραίων. Η λίστα coins #### παριστάνει τα είδη των νομισμάτων που έχουμε διαθέσιμα και ο αριθμός amount παριστάνει το ποσό το οποίο θέλουμε #### να παραστήσουμε με μια συλλογή από αυτά τα νομίσματα. Η συνάρτηση θα πρέπει να επιστρέφει με πόσους τρόπους μπορεί #### το ποσό amount να γραφεί σαν άθροισμα ποσών από τη λίστα coins (διαφορετική σειρά γραφής των προσθετέων δε δημιουργεί #### διαφορετικούς τρόπους παράστασης). #### #### Αν amount <= 0 ή αν η λίστα coins είναι κενή τότε η συνάρτησή σας θα πρέπει να επιστρέφει 0. #### #### *** Παράδειγμα *** #### #### Αν τα διαθέσιμα ποσά είναι 1, 2, 5 και θέλουμε να δημιουργήσουμε το ποσό 5 τότε υπάρχουν 4 τρόποι #### να το κάνουμε αυτό: #### #### 5 1+1+1+1+1 1+2+2 1+1+1+2. #### #### *** Γενικές Οδηγίες: *** #### #### Γράφετε τον κώδικά σας αποκλειστικά ανάμεσα στις γραμμές START και STOP παρακάτω. #### Δεν πρέπει να πειράξετε καθόλου τις υπόλοιπες γραμμές #### #### Για να τρέξετε το πρόγραμμά σας (αποθηκευμένο στο αρχείο user.py) δίνετε την εντολή #### #### python3 user.py #### #### ενώ για να το ελέγξετε με τον tester δίνετε την εντολή #### #### python3 tester.py #### #### φροντίζοντας τα αρχεία user.py και tester.py να είναι στον ίδιο κατάλογο (directory) #### #### ****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ*****ΠΡΟΣΟΧΗ**** #### Μη γράψετε καμιά εντολή εισόδου (input) ή εξόδου (print) #### στον κώδικα που θα βάλετε ανάμεσα στα START και STOP. Αυτά είναι ήδη γραμμένα. #### Αν βάλετε και σεις το πρόγραμμά σας βγαίνει λάθος. #### Coins = eval(input("Παρακαλώ δώστε τη λίστα με τα διαθέσιμα νομίσματα: ")) #### Amount = int(input("Δώστε το (ακέραιο) ποσό: ")) #### #### #### Υποθέσεις: #### #### Στο σημείο αυτό έχει δοθεί η λίστα Coins με τα διαθέσιμα νομίσματα και το ποσό #### Amount που πρέπει να γραφεί με τα νομίσματα αυτά. #### #### Απαιτήσεις: #### #### Στο τέλος του προγράμματός σας θα πρέπει #### #### η συνάρτηση partitions #### #### να υπολογίζει αυτό που περιγράφεται στην εκφώνηση. #### ####START Από δω και κάτω γράφετε το πρόγραμμά σας.---------------------------------------------------------------- def partitions(amount, coins): #### ####STOP Μην αλλάξετε ό,τι είναι από τη γραμμή αυτή και κάτω-------------------------------------------------------- print("Η απάντηση είναι {}".format(partitions(Amount, Coins))) ####