You are on page 1of 4

Ασκήσεις Προγραμματισμού Λίστες

Λίστες
1. Να γίνει πρόγραμμα που να διαβάζει 100 πραγματικούς αριθμούς και να τους εμφανίζει ανάποδα από τη
σειρά που διαβάστηκαν.
2. Να γράψετε μία συνάρτηση σε python η οποία θα παίρνει ως όρισμα μία λίστα με αριθμούς και θα
επιστρέφει τον μικρότερο από αυτούς
3. Να γράψετε μία συνάρτηση σε python η οποία θα παίρνει ως όρισμα μία λίστα με λέξεις και θα επιστρέφει
τη λέξη πού βρίσκεται η πρώτη λεξικογραφικά στο λεξικό. (Μήπως το έχουμε ήδη κάνει; )
4. Σ’ ένα σχολείο οι μαθητές που θα διαγωνιστούν για να στελεχώσουν την ομάδα μπάσκετ, είναι αυτοί που
το ύψος τους ξεπερνάει τα πέντε έκτα του μέσου ύψους των μαθητών της τάξης τους. Να γίνει πρόγραμμα
που θα δέχεται το ύψος των μαθητών μιας τάξης 80 μαθητών και θα εμφανίζει το ύψος του υψηλότερου
μαθητή της τάξης, καθώς και το ύψος των μαθητών που θα διαγωνιστούν για μια θέση στην ομάδα
μπάσκετ.
5. Μια τάξη αποτελείται από 30 μαθητές οι οποίοι διαγωνίστηκαν στο μάθημα της φυσικής. Ο κάθε μαθητής
έχει έναν αριθμό μητρώου από το 1 έως το 30. Να γίνει πρόγραμμα που θα διαβάζει τους βαθμούς των
μαθητών με αύξοντα αριθμό μητρώου και θα εμφανίζει τους μαθητές που ο βαθμός τους είναι
μεγαλύτερος από το μέσο όρο των βαθμών της τάξης.
6. Γράψτε μία συνάρτηση η οποία θα παίρνει ως όρισμα μία λίστα και μία τιμή και θα ελέγχει σε ποια θέση
της λίστας πρωτοεμφανίζεται η τιμή. Σε περίπτωση που η τιμή δεν υπάρχει καθόλου στη λίστα θα
επιστρέφεται -1.
7. Να γίνει πρόγραμμα που θα δέχεται τις θερμοκρασίες δύο πόλεων Α και Β για διάστημα 30 ημερών και στη
συνέχεια θα υπολογίζει πόσες μέρες η θερμοκρασία της πόλης Α ήταν μεγαλύτερη από την αντίστοιχη
θερμοκρασία της πόλης Β.
8. Σ’ ένα πρόγραμμα περιβαλλοντικής εκπαίδευσης συμμετέχουν 20 σχολεία. Στα πλαίσια αυτού του
προγράμματος εθελοντές μαθητές των σχολείων, που συμμετέχουν στο πρόγραμμα, μαζεύουν ποσότητες
τριών υλικών(γυαλί, χαρτί και αλουμίνιο). Να αναπτύξετε πρόγραμμα που
i) να διαβάζει τις ποσότητες σε κιλά των παραπάνω υλικών που μάζεψαν οι μαθητές σε κάθε σχολείο
ii) να υπολογίζει τη συνολική ποσότητα σε κιλά του κάθε υλικού που μάζεψαν οι μαθητές σε όλα τα
σχολεία
iii) αν η συνολική ποσότητα του χαρτιού που μαζεύτηκε από όλα τα σχολεία είναι λιγότερη των 1000
κιλών, να εμφανίζεται το μήνυμα «Συγχαρητήρια». Αν η ποσότητα είναι από 1000 κιλά και πάνω,
αλλά λιγότερη από 2000, να εμφανίζεται το μήνυμα «Δίνεται έπαινος» και τέλος αν η ποσότητα είναι
από 2000 κιλά και πάνω, να εμφανίζεται το μήνυμα «Δίνεται βραβείο».
9. Ένας μετεωρολόγος καταγράφει τις θερμοκρασίες των τελευταίων 25 ημερών που σημειώθηκαν στο
κέντρο μιας πόλης στις 12 το μεσημέρι. Να γίνει πρόγραμμα που να διαβάζει αυτές τις θερμοκρασίες θα
τις καταχωρεί σε μια λίστα και θα υπολογίζει την ελάχιστη θερμοκρασία, καθώς και την ημέρα που
σημειώθηκε.
10. Σ’ ένα λύκειο η Γ’ τάξη έχει 120 μαθητές. Οι μέσοι όροι βαθμολογίας και τα ονόματα καταχωρούνται σε
δύο λίστες. Στην μια λίστα με όνομα ΟΝ καταχωρούνται τα ονοματεπώνυμα των μαθητών και στην άλλη
με όνομα «Β» και κατ’ αντιστοιχία θέσεων οι μέσοι όροι της βαθμολογίας των μαθητών. Έτσι αν στη θέση
i της λίστας ΟΝ υπάρχει το ονοματεπώνυμο ενός μαθητή, στην αντίστοιχη θέση i της λίστας Β υπάρχει ο
μέσος όρος βαθμολογίας του ίδιου μαθητή. Να γραφεί πρόγραμμα που:
 Να διαβάζει τα στοιχεία και να τοποθετεί στις 2 λίστες
 Να βρίσκει και να εμφανίζει τον μεγαλύτερο μέσο όρο βαθμολογίας
 Να εμφανίζει το ονοματεπώνυμο των μαθητών που έχουν τον βαθμό που βρήκατε στο ερώτημα Β
 Να εμφανίζει πόσοι μαθητές έχουν το βαθμό που βρήκατε στο ερώτημα Β.
11. Μία επιχείρηση διαθέτει 10 πωλητές με κωδικό από 1 έως 10, οι οποίοι μπορούν να κάνουν καθημερινά
περισσότερες από μία πωλήσεις.
Να γραφεί πρόγραμμα που θα κάνει τα ακόλουθα:
Σελίδα 1 από 4
Ασκήσεις Προγραμματισμού Λίστες

1. Εισαγωγή (διάβασμα) των δεδομένων. Για κάθε πώληση εισάγονται ο κωδικός του πωλητή (κ) και
το ποσό πώλησης (π). Η εισαγωγή των δεδομένων τελειώνει όταν δοθεί το 0 στον κωδικό πωλητή
2. Υπολογισμό του συνολικού ποσού πωλήσεων για κάθε πωλητή χωριστά.
3. Εμφάνιση του συνολικού ποσού των πωλήσεων του κάθε πωλητή στην οθόνη
Διευκρινίζεται ότι τα ποσά πωλήσεων δίνονται εντελώς τυχαία.
Να γίνει χρήση λίστας δέκα θέσεων για τα σύνολα των πωλήσεων του κάθε πωλητή και μιας άλλης λίστας
δέκα θέσεων για τα ονόματα των πωλητών.(Τα οποία θα διαβάζονται από το πληκτρολόγιο).
12. Να δημιουργήσετε πρόγραμμα που θα συγχωνεύει δύο ταξινομημένες σε αύξουσα σειρά λίστες Α και Β.
13. Να γίνει πρόγραμμα που θα δέχεται μια πρόταση το πολύ 100 γραμμάτων και θα εμφανίζει τον αριθμό των
λέξεων από τις οποίες αποτελείται. Γράμματα αποτελούν όλα τα γράμματα του αγγλικού και ελληνικού
αλφαβήτου, τα σημεία στίξης καθώς και το κενό μεταξύ των λέξεων. Το σημείο στίξης που περιγράφει το
τέλος της πρότασης είναι η τελεία(.).
14. Παλινδρομική είναι μια πρόταση που διαβάζεται το ίδιο είτε αρχίζουμε την ανάγνωση από αριστερά είτε
από δεξιά, αγνοώντας τους κενούς χαρακτήρες. Για παράδειγμα ΝΙΨΟΝ ΑΝΟΜΗΜΑΤΑ ΜΗ ΜΟΝΑΝ
ΟΨΙΝ. Να αναπτύξετε πρόγραμμα που να διαβάζει μια πρόταση που περιέχει 30 χαρακτήρες και να
εμφανίζει ένα μήνυμα που να μας πληροφορεί αν η πρόταση είναι παλινδρομική. Το τέλος της πρότασης
περιγράφεται με μια τελεία(.) .
15. Σ’ ένα σχολείο η τρίτη λυκείου έχει εκατό μαθητές και κάθε μαθητής εξετάζεται σε δεκαπέντε μαθήματα.
Να γίνει πρόγραμμα που θα δέχεται τα ονόματα καθώς επίσης και τους βαθμούς κάθε μαθητή και θα
εμφανίζει τον μαθητή με τον μεγαλύτερο βαθμό.
16. Να γίνει πρόγραμμα που να δέχεται τους βαθμούς μιας τάξης 21 μαθητών στο μάθημα της χημείας και στη
συνέχεια να εμφανίζει τον βαθμό που παρατηρήθηκες τις περισσότερες φορές.
17. Ένα περιβαλλοντικό εργαστήρι για 30 μέρες καταγράφει τις τιμές του διοξειδίου του άνθρακα σε μια
περιοχή της Αθήνας. Να γίνει πρόγραμμα που θα διαβάζει αυτές τις τιμές και θα υπολογίζει τη μέρα με την
μικρότερη τιμή διοξειδίου του άνθρακα
18. Να γίνει πρόγραμμα που θα δέχεται μια σειρά το πολύ 1000 χαρακτήρων και θα υπολογίζει τον αριθμό
των προτάσεων. Θεωρήστε ότι οι προτάσεις χωρίζονται μεταξύ τους με κόμμα, ενώ η εισαγωγή
χαρακτήρων θα τερματίζεται όταν δοθεί ο χαρακτήρας τελεία (.).
19. Να γίνει πρόγραμμα που θα δέχεται το όνομα, τη διεύθυνση και το εισόδημα 1000 κατοίκων που ζουν σε
μια επαρχιακή πόλη. Στη συνέχεια ο πρόγραμμα αυτός θα δέχεται το όνομα ενός κατοίκου και θα αναζητεί
όλους τους κατοίκους που έχουν αυτό το όνομα. Αν βρεθούν κάποιοι τότε να μας εμφανίζει όλες τις
πληροφορίες τους (όνομα, διεύθυνση και εισόδημα), διαφορετικά θα εμφανίζει το μήνυμα δεν βρέθηκε
κάτοικος με αυτό το όνομα.
20. Να γίνει πρόγραμμα που θα δέχεται το όνομα, τη διεύθυνση και το εισόδημα 1000 ανθρώπων που ζουν σε
μια επαρχιακή πόλη. Στη συνέχεια θα δέχεται μία ακέραια τιμή από 1 έως 3. Αν η τιμή εισόδου είναι το 1
τότε να εμφανίζει το όνομα, τη διεύθυνση και το εισόδημα των κατοίκων ταξινομημένα ως προς το
όνομα. Αν η τιμή εισόδου είναι 2, να τα εμφανίζει ταξινομημένα ως προς τη διεύθυνση, αλλιώς να τα
εμφανίζει ταξινομημένα ως προς το ποσό εισοδήματος.
21. Να γραφεί πρόγραμμα, που να δέχεται τα ονόματα, την εθνικότητα και τους χρόνους οκτώ αθλητών στο
δρόμο των εκατό μέτρων και να τους εμφανίζει (χρόνος – όνομα - εθνικότητα) αρχίζοντας από το
γρηγορότερο και καταλήγοντας στον πιο αργό αθλητή.
22. Να γίνει πρόγραμμα που θα δέχεται 100 ακέραιους αριθμούς και θα επιστρέφει το πλήθος των
διαφορετικών αριθμών που εισήχθησαν καθώς και τους αριθμούς αυτούς. Για παράδειγμα για είσοδο τους
αριθμούς 2, 23, 1, 2, 2, 6, 34, 1, 23 το πλήθος των διαφορετικών αριθμών είναι 5 και οι αριθμοί αυτοί είναι
οι 2, 23, 1, 6 και 34.

Σελίδα 2 από 4
Ασκήσεις Προγραμματισμού Λίστες

23. Να γίνει πρόγραμμα που θα δέχεται 100 πραγματικές τιμές και θα τις καταχωρεί σε μια λίστα. Στη
συνέχεια θα εμφανίζει τις θέσεις της λίστας με τις 10 μικρότερες τιμές αρχίζοντας με τη θέση με την
μικρότερη τιμή της λίστας.

24. Στον τελικό των 2000 μέτρων του στίβου συμμετέχουν 8 αθλητές. Να γίνει πρόγραμμα
1) που θα διαβάζει τα ονόματα των αθλητών και τους χρόνους που χρειάστηκε ο καθένας και θα τα
καταχωρεί στις λίστες ΟΝ και ΧΡ (ο χρόνος θα καταχωρείται σε δευτερόλεπτα).
2) θα εντοπίζει και εμφανίζει το όνομα του νικητή.
3) θα εντοπίζει και εμφανίζει το όνομα του τελευταίου.
Υποθέστε πως δεν υπάρχουν αθλητές με ίδιο συνολικό χρόνο.
25. Μια ποδοσφαιρική ομάδα διαθέτει 22 ποδοσφαιριστές για κάθε έναν από τους οποίους αποθηκεύουμε το
ονοματεπώνυμό τους, τα λεπτά συμμετοχής τους και τη θέση στην οποία παίζουν (“Ε” για επίθεση, “Α”
για άμυνα, “Κ” για κέντρο και “Τ” όταν ο παίκτης είναι τερματοφύλακας). Να γίνει πρόγραμμα που θα
διαβάζει τα παραπάνω δεδομένα και θα εντοπίζει τους παίκτες που έχουν τα περισσότερα λεπτά
συμμετοχής για κάθε θέση.
26. Η υπηρεσία τηλεφωνικού καταλόγου διατηρεί τα στοιχεία των κατόχων τηλεφώνου χρησιμοποιώντας
λίστα L, που κάθε δυάδα στοιχείων του αφορούν έναν κάτοχο τηλεφώνου ως εξής: η θέση 1 περιέχει το
όνομα και η θέση 2 το τηλέφωνο του πρώτου κατόχου τηλεφώνου, η θέση 3 περιέχει το όνομα και η θέση
4 το τηλέφωνο του δεύτερου κατόχου τηλεφώνου κ.ο.κ. Να αναπτύξετε πρόγραμμα που με δεδομένη τη
λίστα L:
α. θα διαβάζει ένα όνομα και θα εκτυπώνει το τηλέφωνό του, αν υπάρχει στον κατάλογο,
β. θα εκτυπώνει με αλφαβητική σειρά τους κατόχους τηλεφώνου και τα τηλέφωνά τους.
27. Σε λίστα 1000 θέσεων διαβάζονται με τη βοήθεια αλγορίθμου οι ονομασίες των προϊόντων ενός
πολυκαταστήματος. Η θέση στη λίστα κάθε προϊόντος δείχνει και τον κωδικό του. Δηλ. το προϊόν με
κωδικό i αποθηκεύεται στην i-οστη θέση της λίστας.
Σε δεύτερη λίστα διαβάζεται η τιμή κάθε προϊόντος και σε τρίτη λίστα ο αριθμός τεμαχίων που διαθέτει το
κατάστημα ως απόθεμα.
Αφού διαβαστούν τα δεδομένα ο πρόγραμμα θα διευκολύνει τον υπεύθυνο καταστήματος στα ακόλουθα:
α) Ο πρόγραμμα θα διαβάζει τον κωδικό ενός προϊόντος και θα εμφανίζει τα υπόλοιπα τρία στοιχεία
του.
β) Ο πρόγραμμα θα εμφανίζει τα στοιχεία των προϊόντων χωρίς απόθεμα.
γ) Ο πρόγραμμα θα εμφανίζει τα στοιχεία των προϊόντων με το μεγαλύτερο απόθεμα.
δ) Ο πρόγραμμα θα διαβάζει την ονομασία ενός προϊόντος και αν υπάρχει στην αποθήκη θα εμφανίζει
το απόθεμά του. Διαφορετικά θα ενημερώνει με σχετικό μήνυμα για την μη ύπαρξη του προϊόντος.
ε) Να εμφανίζει τα στοιχεία σε φθίνουσα σειρά αποθέματος. Σε περίπτωση που κάποια προϊόντα έχουν
ίδιο απόθεμα, να εμφανίζονται πρώτα τα προϊόντα αλφαβητικά ταξινομημένα.
28. Μια εταιρεία κινητής τηλεφωνίας κάνει δειγματοληπτικό έλεγχο πελατών. Να γραφεί πρόγραμμα που θα
διαβάζει τον αριθμό λεπτών που μίλησαν 500 πελάτες της εταιρείας κάθε μήνα του τελευταίου έτους.
α) Να δημιουργηθεί δεύτερη λίστα που θα περιέχει τη χρέωση σε Ευρώ ανά μήνα για κάθε πελάτη. Η
χρέωση είναι κλιμακωτή ως εξής:
▪ 0-10 λεπτά 0.40 λεπτά του Ευρώ ανά λεπτό,
▪ στα υπόλοιπα λεπτά η χρέωση είναι 0.20 ανά λεπτό.
β) Να υπολογιστεί και εμφανιστεί το συνολικό καθαρό κέρδος της εταιρείας. Η εταιρεία έχει καθαρό
κέρδος ίσο με 20% του συνολικού ποσού που εισέπραξε στη διάρκεια του έτους.

Σελίδα 3 από 4
Ασκήσεις Προγραμματισμού Λίστες

29. Γράψτε μία συνάρτηση σε python η οποία θα δέχεται ως όρισμα μία λίστα από αριθμούς (πιθανόν καθένας
από αυτούς να εμφανίζεται περισσότερες από μία φορά) και θα επιστρέφει μία λίστα όπου κάθε αριθμός
εμφανίζεται μόνο μία φορά δηλαδή θα αφαιρεί τυχόν διπλοεγγραφές.
30. Γράψτε μία συνάρτηση σε python η οποία θα δέχεται ως ορίσματα δύο λίστες και θα επιστρέφει μία νέα
λίστα η οποία θα περιέχει μόνο τα κοινά στοιχεία των δύο μόνο. Παράδειγμα αν η πρώτη λίστα είναι η [11,
2,13,10] και η δεύτερη η [12, 13, 8,11,51] θα πρέπει να επιστραφεί η λίστα [11,13].

Σελίδα 4 από 4

You might also like