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

Matematikmoduler
Operatörmodul

Mål

Verifiera och allokera beställningarna för byggmaterial till den nya jordbruksmarken genom att använda operator-modulen.

Övervåningen i annexet har några kontor som håller loggar över lagret och beställningarna av byggmaterial som behövs för den nya markutvecklingen. Det finns en mängd olika verktyg som kan användas för att verifiera och beräkna materialen så att de kan användas vid konstruktionen; förutom matematik- och statistikmodulen kan vi använda operator-modulen.

Den här modulen, import operator, kan användas för att förenkla operatorberäkningar och praktiskt packa in dem i funktioner. Du kan använda dessa funktioner både för optimering och för att producera värden utan att behöva skapa ett objekt för att lagra beräkningsvärdena.

  • operators.eq(): Tar två argument, kontrollerar om argumenten är lika med varandra.
  • operators.lt(): Tar två argument, kontrollerar om det första argumentet är mindre än det andra.
  • operators.gt(): Tar två argument, kontrollerar om det första argumentet är större än det andra.
  • operators.floordiv(): Tar två argument, dividerar det första argumentet med det andra och tillämpar motsvarigheten till math.floor(), vilket avrundar resultatet nedåt.
  • operators.mod(): Tar två argument, returnerar resten vid divisionen mellan de två argumenten.
  • operators.contains(): Funktionen används med en lista, tar två (2) argument, där det första argumentet är en lista och det andra är ett värde du vill kontrollera om det finns i listan. Returnerar: true eller false beroende på om värdet finns eller inte.
  • operators.concat(): Tar två listargument, kombinerar de två listorna med en enda ren funktion, och kan vara snabbare än andra metoder.
  • operators.countOf(): Tar två argument, en lista och ett värde för att kontrollera hur många gånger värdet förekommer i listan. Returnerar antalet instanser där värdet finns.

För att komma igång, gå till den mörka X-markeringen över de röda, blåa och gröna mattorna. Det finns sex (6) konstanter: red_order, blue_order, green_order, vilka är beställningar av material, samt: red_req, blue_req, green_req som är de nödvändiga mängderna för konstruktionen.

Vid den mörka X-markeringen på den röda mattan, använd funktionen read() för att kontrollera den nödvändiga mängden material. Skapa en variabel med namnet red_verification och använd funktionen operator.eq() med konstanterna red_order och red_req, på följande sätt: red_verification = operator.eq(red_order,red_req). Använd sedan den förskrivna funktionen write() med red_verification för att visa resultatet.

Vid de blåa och gröna X-markeringarna, upprepa samma process: använd funktionen read() och skapa variablerna blue_verification och green_verification. För den blå variabeln, lagra värdet från operator.lt() med konstanterna blue_order och blue_req för att kontrollera om beställningen är mindre än vad som krävs. För den gröna variabeln, lagra värdet från operator.gt() med konstanterna green_order och green_req för att kontrollera om beställningen är större än det material som krävs. Använd de förskrivna funktionerna write() med respektive verifieringsfunktioner som motsvarar de färgade mattorna.

Gå sedan till den ljusa X-markeringen och använd funktionen read() vid skrivbordet för att kontrollera de beställningar som redan lagts och är på väg. I beställningsboken hittar du värdena för två variabla konstanter: main_order och sub_order, samt antalet sektioner som materialen behöver delas in i. Efter att ha läst beställningsboken, skapa en variabel med namnet allocations och lagra värdet från funktionen operator.floordiv() för att dividera värdet main_order med antalet sektioner som anges i boken, så här: allocations = operator.floordiv(main_order, -add sections-). Detta delar beställningen och avrundar resultatet nedåt. Använd den förskrivna funktionen write() med variabeln allocations för att notera resultatet.

Gå till den gyllene X-markeringen och skapa en variabel med namnet remainder, lagra resultatet av operator.mod() och använd både konstanterna main_order och sub_order för att få fram resten av de två beställningarna. Vid skrivbordet, använd den förskrivna funktionen write() och ange variabeln remainder för att visa resultatet.

Gör dig redo att gå till den mörka X-markeringen över den lila mattan; här ska vi verifiera om de verktyg som behövs för konstruktionen har levererats. Vi har två listkonstanter, delivery_1 och delivery_2, och vi kommer att kontrollera om verktygen levererades vid den första leveransen. Skapa en variabel med namnet tools och lagra resultatet från operator.contains(), där det första argumentet är listan delivery_1 och det andra argumentet är strängen “tools”. Detta kontrollerar om verktygen finns i leveransen, på följande sätt: tools = operator.contains(delivery_1,"tools"). När detta är klart, använd den förskrivna funktionen write() vid skrivbordet med variabeln tools för att visa om verktygen levererades framgångsrikt.

Nästa steg är att kontrollera alla leveranser. Gå till den mörka X-markeringen över den vita mattan och skapa en lista med namnet materials. Använd den för att lagra värdet från operator.concat(), med listorna delivery_1 och delivery_2 som argument. Detta kombinerar snabbt de två listorna till en enda lista. Vid skrivbordet, använd den förskrivna funktionen write() med variabeln materials för att notera alla material som redan levererats för konstruktionen.

Avslutningsvis, gå till den mörka X-markeringen över den orangea mattan. Här finns några förutsättningar skrivna för att starta konstruktionen, där en av huvudanteckningarna är hur mycket trä som behövs i början, mätt i tonnage. Kontrollera hur mycket trä som levererades i hela leveransen och meddela det, använd funktionen speak() tillsammans med operator.countOf(). Som första argument, lägg in listan materials som du skapade, följt av strängen “wood”. Detta kommer att returnera antalet instanser av trä som finns i listan materials. Det illustrerar hur operatorfunktioner kan användas fristående utan att de lagras i ett objekt, på följande sätt: player.speak(operator.countOf(materials,"wood")). Detta slutför nivån.

Kodbok