ΑΣΚΗΣΕΙΣ
ΑΣΚΗΣΗ 1
Ποια είναι η έξοδος του παρακάτω κώδικα;
teams = {"Real Madrid":"Spain",
"Juventus":"Italy","Chelsea":"England",
"Bayern Munich":"Germany",
"Olympiakos":"Greece",
"Ajax":"Netherlands"}
print(teams)
print(teams["Chelsea"])
print(teams.get("Milan", "Milan does not exist"))
print(teams["Barcelona"])
ΑΣΚΗΣΗ 2
Ποια είναι η έξοδος του παρακάτω κώδικα;
teams = {"Real Madrid":"Spain",
"Juventus":"Italy",
"Chelsea":"England",
"Monaco":"France",
"Bayern Munich":"Germany",
"Porto":"Portugal"}
team = "Arsenal"
if team in teams:
print(teams["Arsenal"])
else:
print("%s does not exist" % team)
if "Porto" in teams:
print("Porto is from", teams["Porto"])
else:
print("%s is not available" % team)
ΑΣΚΗΣΗ 3
Ποια είναι η έξοδος του παρακάτω κώδικα;
teams = {"Real Madrid":"Spain",
"Juventus":"Italy",
"Chelsea":"England",
"Bayern Munich":"Germany",
"Olympiakos":"Greece",
"Ajax":"Netherlands"}
print(teams["Ajax"])
print(len(teams))
teams["Ajax"] = "Holland"
print(len(teams))
print(teams["Ajax"])
teams["Milan"] = "Italy"
print(len(teams))
ΑΣΚΗΣΗ 4
Ποια είναι τα συντακτικά λάθη στα παρακάτω τμήματα κώδικα;
teams = {"Real Madrid":"Spain",
"Juventus":"Italy",
"Chelsea":"England",
"Roma":"Italy"}
print(teams["Spain"])
teams = {"Real Madrid":"Spain",
"Juventus":"Italy",
"Barcelona":"Spain",
"Roma":"Italy"
"Real Madrid":"Madrid"}
print(teams["Barcelona"])
print(teams["Real Madrid"])
ΑΣΚΗΣΗ 5
Ποια είναι η έξοδος στον παρακάτω κώδικα;
teams = {"Atletico Madrid":"Spain",
"Milan":"Italy",
"Manchester City":"England",
"Borussia Dortmund":"Germany",
"Olympiakos":"Greece",
"Fenerbache":"Turkey"}
print(teams.keys())
print(teams.values())
print(teams.items())
ΑΣΚΗΣΗ 6
Να γραφεί πρόγραμμα που δέχεται από το χρήστη τα ονόματα 5 Ευρωπαϊκών κρατών μαζί με τις πρωτεύουσες τους και τα καταχωρεί σε ένα λεξικό με όνομα dictionary.
Ακολούθως, διαλέγει τυχαία μία από τις χώρες του λεξικού και ζητάει από το χρήστη να απαντήσει ποια είναι η πρωτεύουσα της.
Αν ο χρήστης απαντήσεις σωστά, το πρόγραμμα εμφανίζει το μήνυμα "Bravo! You are correct!". Σε περίπτωση λάθους, το πρόγραμμα εμφανίζει το μήνυμα "Wrong! The city is …" και το όνομα της σωστής πόλης.
ΑΣΚΗΣΗ 7
Να γραφεί πρόγραμμα που δημιουργεί ένα λεξικό με όνομα world που θα περιέχει τα ονόματα από τουλάχιστον 20 χώρες του κόσμου μαζί με τις πρωτεύουσες τους.
Μετά, ο υπολογιστής διαλέγει τυχαία 20 από τις χώρες του λεξικού και ζητάει από το χρήστη να απαντήσει τις πρωτεύουσες τους.
Το παιχνίδι τελειώνει είτε όταν ο χρήστης απαντήσει λάθος κάποια από τις ερωτήσεις είτε όταν απαντήσει και τις 20 ερωτήσεις σωστά.
Στο τέλος, το πρόγραμμα εμφανίζει τον αριθμό των σωστά απαντημένων ερωτήσεων.
Σημείωση: η συνάρτηση choice της βιβλιοθήκης random επιλέγει ένα τυχαίο στοιχείο μιας ακολουθίας (π.χ. μιας λίστας). Για να μετατρέψουμε ένα λεξικό σε λίστα, χρησιμοποιούμε την εντολή list.
Πιο συγκεκριμένα, με την εντολή random.choice(list(d)) όπου d είναι το όνομα του λεξικού, διαλέγουμε τυχαία ένα από τα κλειδιά του λεξικού.
ΑΣΚΗΣΗ 8
Να συμπληρωθούν τα κενά των προτάσεων με τις λέξεις που λείπουν:
1) Το ___________ είναι μία δομή δεδομένων που αποθηκεύει τα δεδομένα σε ζεύγη και όχι σε ακολουθίες.
2) Κάθε λεξικό αποτελείται από ζεύγη δεδομένων που ονομάζονται ___________.
3) Σε ένα λεξικό το κάθε στοιχείο περιέχει ένα __________, μία άνω-κάτω τελεία που λειτουργεί ως διαχωριστικό και μία ___________.
4) Μέσα σε ένα λεξικό χρησιμοποιούμε κόμματα για να διαχωρίσουμε τα ζεύγη κλειδιών-τιμών, και όλα αυτά τα τοποθετούμε μέσα σε ____________.
5) Ο απλούστερος τρόπος ανάκτησης μιας τιμής σε ένα λεξικό είναι μέσω του __________ του.
6) Για την ανάκτηση μιας τιμής ενός λεξικού, γράφουμε το όνομα του λεξικού και το αντίστοιχο κλειδί εντός __________.
7) Σε ένα λεξικό, ένα κλειδί δεν μπορεί να ανακτηθεί μέσω της __________ του.
8) Μια εναλλακτική μέθοδος ανάκτησης τιμής από ένα λεξικό, είναι μέσω χρήσης της συνάρτησης των λεξικών ___________.
9) Τα λεξικά είναι ___________ ακολουθίες και άρα μπορούν να αλλάζουν. Για παράδειγμα, μπορούμε να προσθέτουμε έναν νέο όρο στο λεξικό ή να αλλάζουμε την τιμή ενός όρου.
10) Για να διαγράψουμε ένα στοιχείο σε ένα λεξικό, γράφουμε την εντολή ___________ και ακολούθως το όνομα του λεξικού και το κλειδί του αντίστοιχου όρου εντός αγκυλών.
11) Ένα λεξικό δεν μπορεί να περιέχει πολλούς όρους με το ίδιο ___________.
12) Το κλειδί κάθε όρου του λεξικού πρέπει να είναι ___________.
13) Οι τιμές των όρων ενός λεξικού δεν χρειάζεται να είναι ___________.
14) Η μέθοδος __________ επιστρέφει μία λίστα με όλα τα κλειδιά ενός λεξικού.
15) Η μέθοδος __________ επιστρέφει μία λίστα με όλα τα στοιχεία – όρους ενός λεξικού.
Μακρής Ηλίας Π.Ε. Πληροφορικής