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

Avancerade funktioner
Polymorfa funktioner

I det här kapitlet ska vi utforska nya typer av funktioner, olika användningsområden för dem och hur man maximerar deras potential när man programmerar i Python.

På den här nivån börjar vi med polymorfa funktioner. Det finns funktioner som kan användas med en rad olika datatyper. Det är som att använda samma funktion för att göra olika saker, en universell funktion.

Guide

Mål

Kontrollera statusen för grödorna och grisungarna, samt bekräfta leveranser med polymorfa funktioner.

Mycket snart kommer det att finnas några grödor som måste skördas så att de kan skickas ut för försäljning. Grisungarna behöver också få mat levererad, det vore en bra idé att se hur mycket mat som behöver beställas. För att utföra dessa uppgifter kan du använda polymorfa funktioner, i detta fall använder vi funktionen len().

Polymorfa funktioner är funktioner som kan användas med flera olika datatyper. Till exempel är funktionen len() en funktion som används för att beräkna längden på objekt, där dessa objekt kan vara olika datatyper som listor, ordböcker och till och med strängar. Börja med att räkna upp antalet på de nedre X-märkena på fältet innan du går vidare till de övre X-märkena i ladan.

Det finns flera grisungar inne i en inhägnad vid vägen, deras namn är "Peggle", "Peter", "Piper", "Pedro". Lägg in deras namn i en lista så att du kan räkna dem. Så här: piglets = ["Peggle", "Peter", "Piper", "Pedro"] . Skapa en variabel som heter number för att lagra listans längd genom att använda funktionen len(), på följande sätt: number = len(piglets).

När du har satt upp listan och variabeln, gå till det mörka X-märket framför grisinnhägnaden, vänd dig mot inhägnaden och använd funktionen speak() för att räkna grisungarna med hjälp av funktionen speak(). Använd variabeln number för att få resultatet, på följande sätt: player.speak("There are d% Piglets" % (number) )

När du är klar med att kolla in grisungarna, gå till det ljusa X-märket vid fältet, vänd dig mot grödorna och räkna dem. Det finns tre (3) olika typer av grödor: "Tomatoes", "Pumpkins", "Eggplant". Räkna hur många grödor som växer av varje sort och lagra dem i en ordbok, på följande sätt:

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

När du har fyllt i ordboken med rätt värden, använd funktionen speak() tillsammans med funktionen len() för att räkna antalet tillgängliga grödor, på följande sätt: player.speak("There are d% types of crops" % ( len(crops) ) ).

När du har räknat både grisungarna och grödorna, gå till det mörka X-märket på den lila mattan för att kontrollera beställningar på grödor som ska skickas ut. Det finns en konstant variabel vid namn order som innehåller en sträng med beställningar på grödor som behöver skickas ut. Vi måste ta reda på vilka beställningar det är och hur många beställningar vi har, vi kan göra detta genom att använda funktionen speak() och packa upp strängen samt använda funktionen len().

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

Genom att sätta in den strängvariabeln inom hakparenteser och en * kan vi aktivera en operator för att packa upp strängen, till exempel: [*string]. Det detta gör är att det tar en sträng och separerar varje enskild tecken och lägger dem i en lista, ett exempel är: [*string] kommer att ge en lista ['s', 't', 'r', 'i', 'n', 'g']. I fallet med att använda len() på en sträng, kommer den att räkna hur många tecken en sträng har.

För att avsluta övningen, gå till det gyllene X-märket på högra sidan av ladan, och bestäm hur många pund mat som behöver levereras till grisungarna. Skapa en variabel som heter food, som värde använd variabeln number som du skapade tidigare och multiplicera den med 35 för att bestämma mängden pund, på följande sätt: food = number * 35.

Medan du står och tittar mot ladan, använd funktionen speak() tillsammans med variabeln food för att fastställa mängden mat som levereras, på följande sätt: player.speak("There are d% pounds of food coming in" % (food) ).

Kodbok