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é funkce
Polymorfní funkce

V této kapitole budeme zkoumat nové typy funkcí, různé způsoby jejich použití a jak je co nejlépe využít při programování v Pythonu.

V této úrovni začínáme s polymorfními funkcemi, což jsou funkce, které lze použít s různými datovými typy. Je to jako používat stejnou funkci k různým účelům, univerzální funkci.

Guide

Cíl

Zkontrolujte stav plodin a prasátek a potvrďte dodávky zásob pomocí polymorfních funkcí.

Brzy by měly být nějaké plodiny, které je třeba sklidit, aby mohly být expedovány k prodeji. Prasátka také potřebují, aby jim bylo doručeno krmivo, a bylo by dobré zjistit, kolik krmiva je potřeba objednat. K dokončení těchto úkolů můžete použít polymorfní funkce, v tomto případě využijeme funkci len().

Polymorfní funkce jsou funkce, které lze použít s více různými datovými typy. Například funkce len() se používá ke zjištění délky objektů; tyto objekty mohou být různého typu, jako jsou seznamy, slovníky nebo dokonce řetězce. Začněte odečítáním počtu na nižších X znacích na poli, než přejdete k vyšším X značkám ve stodole.

Uvnitř ohrady u cesty je několik prasátek, jejichž jména jsou "Peggle", "Peter", "Piper", "Pedro". Vložte jejich jména do seznamu, abyste je mohli spočítat. Například takto: piglets = ["Peggle", "Peter", "Piper", "Pedro"]. Vytvořte proměnnou jménem number, do které uložíte délku seznamu pomocí funkce len(), například: number = len(piglets).

Jakmile máte seznam a proměnnou připravené, jděte k tmavému X značce před ohradou prasátek, otočte se k ohradě a pomocí funkce speak() spočítejte prasátka. Použijte proměnnou number k získání výsledku, například: player.speak("There are d% Piglets" % (number) )

Poté, co zkontrolujete prasátka, jděte ke světlé X značce u pole, otočte se k plodinám a spočítejte je. Existují tři (3) různé typy plodin: "Tomatoes", "Pumpkins", "Eggplant". Spočítejte, kolik plodin od každého druhu roste, a uložte je do slovníku, například takto:

crops = {} crops["Tomato"] = number of tomato crops crops["Pumpkin"] = number of Pumpkin crops crops["Eggplant"] = number of Eggplant crops

Jakmile do slovníku vložíte správné hodnoty, použijte funkci speak() spolu s funkcí len() pro spočítání počtu dostupných druhů plodin, například takto: player.speak("There are d% types of crops" % ( len(crops) ) ).

Poté, co spočítáte prasátka i plodiny, jděte k tmavému X značce na fialové rohoži a zkontrolujte objednávky na odeslání plodin. Existuje konstantní proměnná nazvaná order, která obsahuje řetězec s objednávkami plodin, jež mají být odeslány. Musíme zjistit, jaké objednávky to jsou a kolik jich máme; můžeme to udělat pomocí funkce speak() a rozbalením řetězce i funkcí len().

player.speak( [*order] ) player.speak("There are d% orders of crops going out" % ( len(order) ) )

Tím, že umístíte řetězcovou proměnnou do hranatých závorek a přidáte *, aktivujete operátor pro rozbalení řetězce. Například: [*string]. To způsobí, že řetězec se rozdělí na jednotlivé znaky a vloží se do seznamu, například: [*string] vrátí seznam ['s', 't', 'r', 'i', 'n', 'g']. Použitím len() na řetězci zjistíte, kolik znaků řetězec obsahuje.

Pro zakončení cvičení jděte ke zlaté X značce na pravé straně stodoly a určete, kolik liber krmiva je třeba doručit prasátkům. Vytvořte proměnnou jménem food, a jako hodnotu použijte proměnnou number, kterou jste vytvořili dříve, vynásobenou číslem 35, například takto: food = number * 35.

Zatímco stojíte před stodolou, použijte funkci speak() spolu s proměnnou food k oznámení množství dodávaného krmiva, například takto: player.speak("There are d% pounds of food coming in" % (food) ).

Kniha Kódu