Coding for KidsCoding for Kids
Kreative NiveauerUdfordringerLærervejledning
Stem på funktioner
Avanceret Python Udviklingskursus
Kapitel
>
Niveau

Matematikmoduler
Introduktion til Matematikmodul

Mål

Tjek skøder og ejendomsgrænser på gården, verificer og beregn tal ved hjælp af Math Module-funktioner.

På kontoret helt i kanten af hovedbygningen er der et arkiv af gamle blåtryk over bygningen og skøder. Der er planer om at udvide gården mod øst, men det er vigtigt at få styr på alt papirarbejdet, inden du beslutter dig for at se på byggeplanerne. Dette vil blive gjort ved hjælp af python’s math module.

import math

Ligesom statistics-modulet før, har math modulet en samling af matematikfunktioner, vi kan bruge til at udvide Pythons indbyggede bibliotek:

  • math.isnan(): Tjekker om den indtastede værdi ikke er et tal

  • math.isinf(): Tjekker om den indtastede værdi er et uendeligt tal

  • math.isfinite(): Tjekker om den indtastede værdi er endelig

  • math.prod(): Multiplicerer alle tilføjede argumenter

  • math.pow(): Tager to argumenter og returnerer værdien af det første argument opløftet til det andet arguments potens.

  • math.trunc(): Afsnyder det givne argument, hvilket fjerner decimaldelen fra et flydende tal og gør det til et helt tal. (Runder ikke, blot fjerner)

  • math.copysign(): Tager to argumenter, kopierer fortegnet (-, +) fra det andet argument og anvender det på det første.

  • math.factorial(): Tager et argument og multiplicerer det med alle hele tal ned til 1. For eksempel, hvis værdien er 5, bliver det: 5 x 4 x 3 x 2 x 1 og giver et resultat.

Vi vil bruge disse funktioner til at gennemgå og nedtegne nogle data for at forberede udviklingsprojekterne. Der er tre listekonstanter, der indeholder skitser for gården opkaldt: red_schematics, green_schematics, blue_schematics. Disse skitser har ikke-numeriske og ubrugelige værdier skrevet ned, så brug math-funktionerne til at identificere elementerne og finde de brugbare data, så vi kan nedtegne dem.

Først skal du gå til det mørke X-mærke over den røde løber og bruge en løkke til at gennemgå elementerne i listekonstanten red_schematics for at identificere brugbare elementer.

for x in red_schematics: y = math.isnan (float(x)) if y == True: player.speak("Not a Number") else: y = math.isinf(float(x)) if y == True: player.speak("Is infinite") else: player.speak(x)

Løkken vil gennemgå alle elementerne i listen. Funktionen math.isnan() vil identificere ikke-numeriske indgange, og math.isinf() vil identificere uendelige værdier, der ikke kan bruges til dataindsamling. Opret en ny liste ved navn red_values og brug en listeforståelse til at fjerne de uønskede elementer ved at anvende math.isfinite() til at filtrere dem, således: red_values = [x for x in red_schematics if math.isfinite(float(x))] .

Herefter lægges alle tallene sammen ved at bruge funktionen math.prod() til at multiplicere alle elementerne i listen, således: red_values = math.prod(red_values) .

Udfør den samme filtreringsproces for de mørke X-mærker over den grønne og blå løber ved at bruge listekonstanterne green_schematics og blue_schematics og samle elementerne i listerne green_values og blue_values.

Gå til det guld X-mærke, vend dig mod skrivebordet og brug den forudskrevne write() funktion i editoren til at nedtegne de anvendelige skitsetdata.

Når du har samlet alt, skal du gå til det lyse X-mærke og bruge funktionen open() for at få adgang til det næste rum.

Når du er i det næste rum, er der et par skriveborde med nogle skøder til landet og koordinater. Det er en god idé at nedtegne nogle data, inden du fortsætter med at tjekke de nye tilføjelser til gården i det næste område på den anden side af broen.

Gå til det lyse X-mærke foran kassen med kort ved det første skrivebord, og brug funktionen read() til at erhverve indeksdata for skøderne.

Gå til det mørke X-mærke over den lilla løber, opret en variabel ved navn purple_data og brug funktionen math.pow() til at opløfte de data, du har erhvervet, for at få koordinatoplysninger. Hæv tallet til potensen 3, således: purple_data = math.pow( -index data- , 3 ), og husk at tilføje de indeksdata, du læste tidligere. Brug math.trunc() til at fjerne decimaldelen fra variablen, således: purple_data = math.trunc(purple_data) .

Når du er færdig, skal du ved X-mærket bruge den forudskrevne write() funktion i editoren med purple_data for at nedtegne de data, der er gemt i variablen.

For at afslutte, gå til det lyse X-mærke foran arkivskabet ved siden af det øverste skrivebord. Brug funktionen read() til igen at erhverve indeksdata; disse data skal pakkes ud for at afsløre flere koordinatoplysninger for landet. Opret en variabel ved navn white_data til at gemme den dataværdi, der findes i filen, og en variabel ved navn sign til at gemme fortegnnummeret, der findes i filen.

Gå til det mørke X-mærke over den hvide løber og brug funktionen math.copysign() med de to variabler, du har oprettet, som argumenter, og tildel værdien til white_data, således: white_data = math.copysign(white_data,sign) .

Når du er færdig, brug math.factorial() med white_data til at beregne produktet af tallene; konverter white_data til en integer og brug den med funktionen, således: white_data = math.factorial(int(white_data)) . Brug den forudskrevne write() funktion til at nedtegne white_data for at fuldføre niveauet.

Kodebog