Coding for KidsCoding for Kids
Kreative NiveauerUdfordringerLærervejledning
Stem på funktioner
Avanceret Python Udviklingskursus
Kapitel
>
Niveau

Avancerede lister
Ændring af en Matrix

Mål

Saml og opbevar vinflasker på vinreolen ved at ændre en Matrix.

Der er flere vinflasker, som skal opbevares i en vinreol. Men der er allerede flere flasker opbevaret i reolen, og elementerne skal placeres på specifikke steder for at blive sat på plads.

Flaskerne i reolen er opbevaret i en Matrix, en type Nestet Liste. Matrixer er nestede lister, hvor hvert element er en liste med nøjagtigt samme længde, hvilket skaber et slags gitter, hvor elementerne opdeles i rækker og kolonner. For eksempel:

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

I koden ovenfor har vi en Matrix med tre (3) kolonner og fire (4) rækker. For at få adgang til et element inde i Matrixen skal du blot angive rækken og kolonnen, hvor elementet befinder sig, ligesom du ville få adgang til elementer på en standardliste, men med to indgange i stedet for én. For eksempel, baseret på koden ovenfor: matrix[0][0] = 1, matrix[0][1] = 2, matrix[1][0] = 4, osv.

Der er fire (4) forskellige typer vinflasker i kælderen, nemlig: "purple bottle", "green bottle", "blue bottle", "yellow bottle". Saml alle flasker på banen, så de kan opbevares i reolen.

Der er også flasker, der er opbevaret i kasser. Gå til det oplyste X-mærke, og brug funktionen collect() mens du vender dig mod kassene for at samle flaskerne. Der er to konstanter, der indeholder kassernes indhold: lower_crate og upper_crate. Deres navne svarer til deres placering på kortet og bruges som følger: player.collect(lower_crate).

Når alle flasker er blevet samlet, skal du placere antallet af flasker, du har samlet for hver type, i variablerne: purple_bottle, green_bottle, blue_bottle, yellow_bottle. Herefter skal du gå hen til det gyldne X-mærke og vende dig mod vinreolen.

I kodeeditoren vil en Matrix ved navn wine_rack blive vist. Find de elementer i Matrixen, der har værdien 0, og tilføj de flasker, du har samlet, til disse værdier. Matrixen vil have farven på den flaske, der skal tilføjes, markeret i hver række. For at tilføje et nyt element til Matrixen skal du skrive rækken og kolonnen, hvor du ønsker, at værdien skal placeres, for eksempel: wine_rack[0][1] = purple_bottle.

Husk, at alle listepositioner starter ved 0. Når alle elementer er tilføjet til Matrixen og den er komplet, skal du bruge funktionen place() efterfulgt af funktionen speak() på det gyldne X-mærke med navnet på Matrixen for at bekræfte dens værdi og fuldføre niveauet, som vist her: player.place(wine_rack), player.speak(wine_rack).

Kodebog