Coding for KidsCoding for Kids
Kreativa NivåerUtmaningarLärarguide
Rösta på funktioner
Avancerad Pythonutvecklingskurs
Kapitel
>
Nivå

Avancerade listor
Modifiera en matris

Mål

Samla och lagra vinflaskor på vinhyllan genom att modifiera en Matrix.

Det finns flera vinflaskor som behöver lagras i en vinhylla. Men det finns redan flera flaskor i hyllan, och objekten måste placeras på specifika platser för att kunna läggas undan.

Flaskorna på hyllan lagras i en Matrix, en typ av Nested List. Matrixer är Nested Lists där varje element är en lista med exakt samma längd, vilket skapar ett slags rutnät där objekten delas in i rader och kolumner. Till exempel:

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

I koden ovan har vi en Matrix med tre (3) kolumner och fyra (4) rader. För att komma åt ett objekt i Matrixen behöver du bara ange raden och kolumnen där objektet finns, på samma sätt som du skulle komma åt objekt i en vanlig lista men med två index istället för ett. Till exempel, baserat på koden ovan: matrix[0][0] = 1 , matrix[0][1] = 2 , matrix[1][0] = 4 , etc.

Det finns fyra (4) olika typer av vinflaskor i källaren, nämligen: "purple bottle", "green bottle", "blue bottle", "yellow bottle". Hämta alla flaskor på fältet så att de kan lagras i hyllan.

Det finns även flaskor lagrade i lådor; gå till det ljusa X-märket och använd funktionen collect() när du är vänd mot lådorna för att hämta flaskorna. Det finns två konstanter som innehåller innehållet i lådorna: lower_crate och upper_crate. Deras namn motsvarar deras position på kartan och används på följande sätt: player.collect(lower_crate).

När alla flaskor har hämtats, placera antalet flaskor du har samlat för varje typ i variabler, dessa är: purple_bottle, green_bottle, blue_bottle, yellow_bottle. Därefter, gå till det gyllene X-märket och vänd dig mot vinhyllan.

I kodredigeraren kommer en Matrix med namnet wine_rack att visas. Leta efter de objekt i Matrixen som har värdet 0 och lägg till de flaskor du har samlat in där. Matrixen kommer att ha den färg på flaska som ska läggas till markerad i varje rad. För att lägga till ett nytt element i Matrixen, skriv raden och kolumnen där du vill att värdet ska placeras, till exempel: wine_rack[0][1] = purple_bottle.

Kom ihåg att alla listpositioner börjar på 0. När alla objekt har lagts till i Matrixen och den är komplett, använd funktionen place() följt av funktionen speak() vid det gyllene X-märket med namnet på Matrixen för att verifiera dess värde och slutföra nivån, på detta sätt: player.place(wine_rack), player.speak(wine_rack).

Kodbok