Coding for KidsCoding for Kids
Kreativní ÚrovněVýzvyPrůvodce pro Učitele
Hlasovat pro funkce
Pokročilý kurz vývoje v Pythonu
Kapitola
>
Úroveň

Pokročilé seznamy
Úprava matice

Cíl

Nasbírejte a uložte lahve vína do regálu na víno úpravou matice.

Je několik lahví vína, které musí být uložené v regálu na víno. Nicméně, v regálu již jsou uloženy některé lahve a položky je třeba umístit na konkrétní místa, aby mohly být správně uloženy.

Lahve v regálu jsou uloženy v matici, což je typ vnořeného seznamu. Matice jsou vnořené seznamy, kde každý prvek je seznam se stejnou délkou, což vytváří jakousi mřížku, ve které jsou položky rozděleny do řádků a sloupců. Například:

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

V ukázkovém kódu máme matici se třemi (3) sloupci a čtyřmi (4) řádky. Pro přístup k prvku uvnitř matice stačí uvést řádek a sloupec, ve kterém se prvek nachází, podobně jako u běžného seznamu, ale se dvěma indexy místo jednoho. Například, na základě výše uvedeného kódu: matrix[0][0] = 1 , matrix[0][1] = 2 , matrix[1][0] = 4 , atd.

Ve sklepě se nacházejí čtyři (4) různé typy lahví vína, a to: "purple bottle" , "green bottle" , "blue bottle" , "yellow bottle". Sebrejte všechny lahve na poli, aby mohly být uloženy v regálu.

Lahve jsou také uloženy v bednách, přejděte k X značkám se světlem a použijte funkci collect() při pohledu na bedny, abyste je sebrali. Existují dvě konstanty, které obsahují obsah beden: lower_crate a upper_crate. Jejich názvy odpovídají jejich umístění na mapě a používají se následovně: player.collect(lower_crate).

Jakmile jsou všechny lahve sesbírány, uložte počet sebraných lahví pro každý typ do proměnných, a to: purple_bottle , green_bottle , blue_bottle , yellow_bottle. Poté přejděte k zlaté značce X a postavte se čelem k regálu na víno.

V editoru kódu se zobrazí matice pojmenovaná wine_rack, vyhledejte položky v matici, které mají jako hodnotu 0, a přidejte k nim lahve, které jste nasbírali. Matice bude mít na každém řádku vyznačenou barvu lahve, která má být přidána. Pro přidání nové položky do matice zadejte řádek a sloupec, kam chcete hodnotu umístit, například: wine_rack[0][1] = purple_bottle.

Pamatujte, že indexy ve všech seznamech začínají od 0. Jakmile jsou všechny položky přidány do matice a je dokončena, použijte funkce place() následovanou funkcí speak() na zlatém X se jménem matice, abyste ověřili její hodnotu a dokončili úroveň, například: player.place(wine_rack) , player.speak(wine_rack).

Kniha Kódu