Ασκήσεις στην python: Ταξινόμηση με διάφορα κριτήρια

Γενική οδηγία:

Αποθηκεύστε τα αρχεία που σας δίνονται στον υπολογιστή σας και χρησιμοποιώντας την υλοποίηση της python που προτιμάτε απαντήστε στην ερώτηση.

Ταξινόμηση

  • Φτιάξτε μια συνάρτηση που να δέχεται ως όρισμα μια λίστα με ακεραίους αριθμούς μη ταξινομημένη και να επιστρέφει τη λίστα ταξινομημένη με πρώτα τους άρτιους σε αύξουσα σειρά και στη συνέχεια τους περιττούς αριθμούς σε αύξουσα σειρά. Χρησιμοποιήστε την ταξινόμηση με επιλογή ή με εισαγωγή (selection sort ή insertion sort). Η σχέση διάταξης θα ορίζεται από τη συνάρτηση my_order() και π.χ. η my_order(1,2) θα επιστρέφει False, η my_order(4,6) θα επιστρέφει True. Sort6-even-first.py
    	
  • Φτιάξτε μια συνάρτηση που να δέχεται ως όρισμα μια λίστα με tuples. Τα tuples αναπαριστούν τα χαρτιά μιας τράπουλας. Π.χ., ('Spade',1), ('Diamond',10). Διατάξτε τη λίστα ως προς το "χρώμα" των χαρτιών, με την ακόλουθη σειρά: 'Spade', 'Diamond', 'Clubs' και 'Hearts'. Τα χαρτιά ενός χρώματος θα είναι 1,2,3,..., 10,'Jack', 'Queen', και 'King'. Χρησιμοποιήστε την ταξινόμηση με εισαγωγή (insertion sort). Sort6-cards.py
    	
  • Φτιάξτε μια συνάρτηση που να δέχεται ως όρισμα μια λίστα με tuples. Τα tuples αναπαριστούν τα χαρτιά μιας τράπουλας όπως στην προηγούμενη άσκηση. Διατάξτε τη λίστα ως προς το "χρώμα" των χαρτιών, με την ακόλουθη σειρά: 'Spade', 'Diamond', 'Club' και 'Heart' και στη συνέχεια ως προς την "τιμή" τους, με τη συνήθη σειρά, δηλαδή 1,2,3,..., 10,'Jack', 'Queen', και 'King'. Δηλαδή η συνάρτηση διάταξης my_order() που θα ορίσεται θα δίνει True, για my_order(('Spade','King'), ('Clubs',7)) και False για για my_order(('Clubs','King'), ('Clubs',7)). Χρησιμοποιήστε την ταξινόμηση με εισαγωγή (insertion sort). Sort6-cards2.py
    	
  • Φτιάξτε μια συνάρτηση η οποία να δέχεται ως όρισμα ένα λεξικό. Τα κλειδιά του λεξικού είναι τα ονόματα φοιτητών. Οι τιμές του λεξικού είναι ένα άλλο λεξικό που περιέχει ως κλειδιά τα μαθήματα που έχει περάσει ο φοιτητής και τιμές τους αντίστοιχους βαθμούς. Π.χ. d={"Mike":{"MEM107":6, "MEM108":9}, "Peter":{"MEM105":6, "MEM107":9} } Η συνάρτηση θα επιστρέφει δύο λίστες, στην πρώτη θα είναι τα ονόματα φοιτητών και στη δεύτερη ο μέσος όρος των βαθμών των μαθημάτων που έχει περάσει ο αντίστοιχος φοιτητής της πρώτης λίστας. Οι λίστες θα είναι ταξινομημένες αλβαφητικά με τη μέθοδο selection sort. Sort6-list-grades.py
    	
  • Φτιάξτε μια συνάρτηση η οποία να δέχεται ως όρισμα ένα λεξικό, όπως αυτό που περιγράψαμε στην προηγούμενη άσκηση. Η συνάρτηση θα επιστρέφει δύο λίστες, στην πρώτη θα είναι τα ονόματα φοιτητών και στη δεύτερη ο μέσος όρος των βαθμών των μαθημάτων που έχει περάσει ο αντίστοιχος φοιτητής της πρώτης λίστας. Οι λίστες θα είναι ταξινομημένες ως προς τους βαθμούς χρησιμοποιώντας με τη μέθοδο insertion sort. Sort6-list-grades2.py