Coding for KidsCoding for Kids
Δημιουργικά ΕπίπεδαΠροκλήσειςΟδηγός Εκπαιδευτικού
Ψηφίστε για λειτουργίες
Προχωρημένο Μάθημα Ανάπτυξης σε Python
Κεφάλαιο
>
Επίπεδο

Προχωρημένες Λίστες
Τροποποίηση ενός πίνακα

Στόχος

Συλλέξτε και αποθηκεύστε μπουκάλια κρασιού στο ράφι κρασιού τροποποιώντας μια Μήτρα.

Υπάρχουν αρκετά μπουκάλια κρασιού που πρέπει να αποθηκευτούν σε ένα ράφι κρασιού. Ωστόσο, υπάρχουν ήδη αρκετά μπουκάλια αποθηκευμένα στο ράφι, και τα αντικείμενα πρέπει να τοποθετηθούν σε συγκεκριμένες θέσεις ώστε να αποθηκευτούν σωστά.

Τα μπουκάλια στο ράφι αποθηκεύονται σε μια Μήτρα, έναν τύπο Ενσωματωμένης Λίστας. Οι Μήτρες είναι Ενσωματωμένες Λίστες όπου κάθε στοιχείο είναι μια λίστα με το ίδιο μήκος, δημιουργώντας έτσι ένα είδος πλέγματος όπου τα αντικείμενα διαχωρίζονται σε σειρές και στήλες. Για παράδειγμα:

matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [0, 0, 0] ]

Στον παραπάνω κώδικα έχουμε μια Μήτρα με τρεις (3) στήλες και τέσσερις (4) σειρές. Για να προσπελάσετε ένα στοιχείο μέσα στη Μήτρα, το μόνο που χρειάζεται είναι να δηλώσετε τη σειρά και τη στήλη όπου βρίσκεται το στοιχείο, παρόμοια με το πώς θα προσπελάγατε στοιχεία σε μια τυπική λίστα αλλά με δύο εισόδους αντί για μία. Για παράδειγμα, σύμφωνα με τον παραπάνω κώδικα: matrix[0][0] = 1 , matrix[0][1] = 2 , matrix[1][0] = 4 , κ.ο.κ.

Υπάρχουν τέσσερις (4) διαφορετικοί τύποι μπουκαλιών κρασιού στο υπόγειο, που είναι: "purple bottle" , "green bottle" , "blue bottle" , "yellow bottle". Πιάστε όλα τα μπουκάλια στο πεδίο ώστε να αποθηκευτούν στο ράφι.

Επιπλέον, υπάρχουν μπουκάλια αποθηκευμένα μέσα σε κιβώτια. Περπατήστε προς τα σημάδια με το φως όπου εμφανίζεται το X και χρησιμοποιήστε τη συνάρτηση collect() ενώ είστε στραμμένοι προς τα κιβώτια, για να μαζέψετε τα μπουκάλια. Υπάρχουν δύο σταθερές που περιέχουν το περιεχόμενο των κιβωτίων: lower_crate και upper_crate. Τα ονόματά τους αντιστοιχούν στη θέση τους στον χάρτη και χρησιμοποιούνται ως εξής: player.collect(lower_crate).

Μόλις μαζέψετε όλα τα μπουκάλια, τοποθετήστε τον αριθμό των μπουκαλιών που έχετε μαζέψει για κάθε τύπο σε μεταβλητές, που είναι: purple_bottle, green_bottle, blue_bottle, yellow_bottle. Στη συνέχεια, περπατήστε προς το χρυσό σημάδι X και στραφείτε προς το ράφι κρασιού.

Στον επεξεργαστή κώδικα θα εμφανιστεί μια Μήτρα με όνομα wine_rack. Αναζητήστε τα στοιχεία στη Μήτρα που έχουν τιμή 0 και προσθέστε τα μπουκάλια που μαζέψατε σε αυτές τις θέσεις. Η Μήτρα θα έχει σημειωμένο το χρώμα του μπουκαλιού που πρέπει να προστεθεί στην αρχή κάθε σειράς. Για να προσθέσετε ένα νέο στοιχείο στη Μήτρα, πληκτρολογήστε τη σειρά και τη στήλη όπου θα θέλατε να τοποθετηθεί η τιμή, για παράδειγμα: wine_rack[0][1] = purple_bottle.

Θυμηθείτε ότι όλες οι θέσεις στις λίστες ξεκινούν από το 0. Μόλις προστεθούν όλα τα στοιχεία στη Μήτρα και αυτή ολοκληρωθεί, χρησιμοποιήστε τη συνάρτηση place() ακολουθούμενη από τη συνάρτηση speak() στο χρυσό σημάδι X με το όνομα της Μήτρας για να επαληθεύσετε την τιμή της και να ολοκληρώσετε το επίπεδο, όπως παρακάτω: player.place(wine_rack), player.speak(wine_rack).

Βιβλίο Κώδικα