Coding for KidsCoding for Kids
Poziomy KreatywneWyzwaniaPrzewodnik dla Nauczycieli
Głosuj na funkcje
Zaawansowany kurs programowania w Pythonie
Rozdział
>
Poziom

Zaawansowane listy
Modyfikacja macierzy

Cel

Zbierz i przechowaj butelki wina na stojaku na wino poprzez modyfikację macierzy.

Istnieje kilka butelek wina, które należy przechować na stojaku na wino. Jednakże, na stojaku są już umieszczone inne butelki; przedmioty muszą być umieszczone w określonych miejscach, aby mogły zostać schowane.

Buteleki na stojaku są przechowywane w macierzy, rodzaju listy zagnieżdżonej. Macierze to listy zagnieżdżone, w których każdy element jest listą o dokładnie tej samej długości, co tworzy swego rodzaju siatkę, w której elementy są podzielone na wiersze i kolumny. Na przykład:

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

W powyższym kodzie mamy macierz z trzema (3) kolumnami i czterema (4) wierszami. Aby uzyskać dostęp do elementu znajdującego się wewnątrz macierzy, wystarczy podać numer wiersza i kolumny, w której element się znajduje, podobnie jak w standardowej liście, ale z dwoma indeksami zamiast jednego. Na przykład, w oparciu o powyższy kod: matrix[0][0] = 1 , matrix[0][1] = 2 , matrix[1][0] = 4 , itd.

W piwnicy znajduje się cztery (4) różne rodzaje butelek wina, a mianowicie: "purple bottle" , "green bottle" , "blue bottle" , "yellow bottle". Zbierz wszystkie butelki z terenu, aby mogły zostać przechowane na stojaku.

Są też butelki przechowywane wewnątrz skrzyń, podejdź do lekkiego X i skorzystaj z funkcji collect() stojąc twarzą do skrzyń, aby odebrać butelki. Istnieją dwie stałe, które przechowują zawartość skrzyń: lower_crate i upper_crate. Ich nazwy odpowiadają ich położeniu na mapie i są używane w następujący sposób: player.collect(lower_crate).

Gdy wszystkie butelki zostaną zebrane, umieść liczbę butelek zebranych dla każdego rodzaju do zmiennych, mianowicie: purple_bottle , green_bottle , blue_bottle , yellow_bottle. Następnie podejdź do złotego X i zwróć się w stronę stojaka na wino.

W edytorze kodu wyświetlona zostanie macierz o nazwie wine_rack, poszukaj elementów w macierzy, których wartość wynosi 0 i dodaj do nich butelki, które zebrałeś. Macierz będzie miała zarysowany kolor butelki, którą należy dodać, w każdym wierszu. Aby dodać nowy element do macierzy, wpisz numer wiersza i kolumny, w którym chcesz umieścić wartość, na przykład: wine_rack[0][1] = purple_bottle.

Pamiętaj, że pozycje wszystkich list zaczynają się od 0. Gdy wszystkie elementy zostaną dodane do macierzy i będzie ona kompletna, użyj funkcji place() a następnie speak() na złotym X, podając nazwę macierzy, aby potwierdzić jej wartość i zakończyć poziom, na przykład: player.place(wine_rack) , player.speak(wine_rack).

Księga Kodów