Ασκήσεις στην python: Γραμμική αναζήτηση με διάφορα κριτήρια

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

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

Γραμμική Αναζήτηση με διάφορα κριτήρια

Τα κριτήρια της αναζήτησης ενός στοιχείου σε ένα αντικείμενο - δομή της python, δηλαδή σε μια λίστα, λεξικό, αρχείο κ.α., μπορεί να ποικίλουν. Π.χ. μπορεί να θέλουμε να βρούμε το στοιχείο που μέσω μιας συνάρτησης ικανοποιεί μια τιμή.

  1. Έστω ότι έχουμε ένα λεξικό που περιέχει ως κλειδιά ακέραιους θετικούς αριθμούς και τιμές tuples αριθμών με 2 στοιχεία, π.χ. {1:(1,2), 3:(3,-2), 11:(1,-1)}. Φτιάξτε τη συνάρτηση f_val η οποία να υπολογίζει το άθροισμα των απολύτων τιμών του tuple. Στη συνέχεια χρησιμοποιήστε τη f_val και έναν από τους αλγορίθμους για γραμμική αναζήτηση που παρουσιάσαμε (με while ή με for) για να βρείτε, σε ένα λεξικό με tuples της παραπάνω μορφής ένα tuple που έχει μια συγκεκριμένη τιμή f_val, π.χ. 2. Search5-point-value-dict.py
    	
  2. Τροποποιήστε την προηγούμενη άσκηση ώστε αντί να αναζητούμε μια συγκεγκριμένη τιμή για τη συνάρτηση f_val, να αναζητούμε τo στοιχείο με τη δεύτερη μεγαλύτερη τιμή για την f_val. Search5-point-value2-dict.py
    	
  3. Έστω ότι έχουμε ένα λεξικό που περιέχει ως κλειδιά string και τιμές tuples αριθμών με διάφορα μεγέθη, π.χ. {'Κώστας':(10,2,4,5), 'Μαρία':(3,2,3,6,2,5), 'Ειρήνη':(10,10)}. Φτιάξτε τη συνάρτηση f_val η οποία να υπολογίζει το άθροισμα των τιμών του tuple. Στη συνέχεια χρησιμοποιήστε τη f_val και έναν από τους αλγορίθμους για γραμμική αναζήτηση που παρουσιάσαμε (με while ή με for) για να βρείτε, σε ένα λεξικό με tuples της παραπάνω μορφής, το κλειδί που έχει τη μέγιστη τιμή f_val. Search5-dict-value.py
    	
  4. Φτιάξτε μια συνάρτηση η οποία να δέχεται ως όρισμα το όνομα ενός αρχείου με την ακόλουθη μορφή. Κάθε γραμμή περιέχει ένα όνομα και στη συνέχεια υπάρχουν αριθμοί χωρισμένοι με κενό. Π.χ.
    Κώστας 2 3 10 4 8 7
    Μαρία 2 4 6 8 9 5 2 3
    Ηλίας 2 9 9 4
    Η συνάρτηση σας πρέπει να διαβάζει τα στοιχεία του αρχείου και να επιστρέφει το όνομα που βρίσκεται στην αρχή της γραμμής για το οποίο το άθροισμα των αριθμών μεγαλύτερο ή ίσο του 5 είναι το μεγαλύτερο. (Παράδειγμα αρχείου: data4.txt) Search5-file-value.py