Fejlett Python fejlesztési tanfolyam
Fejezet
>
Szint
Haladó listák
Mátrix módosítása
Célkitűzés
Gyűjtsd össze és tárold a borpalackokat a borállványon úgy, hogy módosítod a Mátrixot.
Több borpalackot kell elhelyezni egy borállványon. Azonban az állványon már több palack is van, ezért az elemeket meghatározott helyekre kell pozícionálni, hogy el lehessen őket helyezni.
A palackok egy Mátrixban vannak tárolva, ami egyfajta Belső Lista. A Mátrixok olyan Belső Listák, ahol minden elem egy azonos hosszúságú lista, így egy rács jön létre, ahol az elemek sorokra és oszlopokra oszlanak. Például:
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [0, 0, 0] ]
A fenti kódban egy Mátrix látható, három (3) oszloppal és négy (4) sorral. Egy elem eléréséhez a Mátrixban mindössze annyit kell tenned, hogy megadod a sor és oszlop számát, ahol az elem található, hasonlóan ahhoz, ahogy egy sima listából érnél el elemeket, de két indexet használsz egy helyett. Például, a fenti kód alapján: matrix[0][0] = 1, matrix[0][1] = 2, matrix[1][0] = 4, stb.
Az alagsorban négy (4) különböző típusú borpalack található, ezek: "purple bottle", "green bottle", "blue bottle", "yellow bottle". Gyűjtsd össze az összes palackot a pályán, hogy elhelyezhesd őket az állványra.
Emellett ládákban is tárolnak palackokat, sétálj a fényt mutató X jelhez, és használd a collect() függvényt, miközben a ládák felé nézel, hogy összegyűjtsd a palackokat. Két állandó tartalmazza a ládák tartalmát: lower_crate és upper_crate. Ezek a nevek megfelelnek a térképen elfoglalt pozíciójuknak, és így használhatók: player.collect(lower_crate).
Miután összegyűjtötted az összes palackot, helyezd el az egyes típusokra összegyűjtött palackok számát változókba, ezek: purple_bottle, green_bottle, blue_bottle, yellow_bottle. Ezután sétálj az arany X jelhez, és fordulj a borállvány felé.
A kódszerkesztőben megjelenik egy Mátrix nevű wine_rack, keressd meg a Mátrix azon elemeit, amelyek értéke 0, és add hozzá az összegyűjtött palackokat ezekhez az értékekhez. A Mátrix minden sorában az outline jelzi, melyik palack színét kell hozzáadni. Új elem hozzáadásához írd be azt a sort és oszlopot, ahová az értéket helyezni szeretnéd, például: wine_rack[0][1] = purple_bottle.
Ne feledd, hogy minden lista pozíciója 0-val kezdődik, miután az összes elemet hozzáadtad a Mátrixhoz és az teljes. Használd a place() függvényt, majd a speak() függvényt az arany X jel mellett a Mátrix nevével, hogy ellenőrizd az értékét és ezzel befejezd a szintet, például: player.place(wine_rack), player.speak(wine_rack).