Avanceret Python Udviklingskursus
Kapitel
>
Niveau
Matematikmoduler
Udvidet Matematikmodul
Mål
Beregn de nye jordudvidelser på gården ved at bruge flere funktioner importeret fra math-modulet.
På den anden side af broen har anneksen nogle kontorer, der bruges til at opmåle det ikke-tilsluttede areal, som forbinder to forskellige dele af gården. Her vil vi finde nogle jordmål og -dimensioner, og det ville være en god idé at sortere dem og dokumentere dataene. Du kan opnå dette ved at bruge math-modulet; på dette niveau bliver du introduceret til et nyt sæt af dets funktioner, som vi kan bruge til at bearbejde dataene. Du bruger den samme import math og skriver math. foran funktionerne for at anvende dette sæt:
math.radians(): Konverterer grader til radianer / vinkler.math.floor(): Afrunder et tal ned til et grundtal.math.ceil(): Afrunder et tal op til et højere tal.math.atan2(): Returnerer arctangens mellem to tal i radianermath.isclose(): Tjekker om to tal er tæt på hinanden, returnerer true/falsemath.fsum(): Lægger flydende decimaltal sammen fra en liste eller en iterable.math.dist(): Beregner afstanden mellem to punkter, hvor værdierne skal være lister eller iterables.
Start med at indsamle de rå data fra diagrammerne ved at gå til de lyse X-mærker over det røde og blå tæppe. Brug read() funktionen til at identificere de rå dimensioner, der er nødvendige for at tage målinger. Disse målinger er allerede gemt i fire variabelkonstanter med navnene: red_x, red_y, blue_x og blue_y
Når begge datasæt er identificeret, gå til det mørke X-mærke over det orange tæppe og vend dig mod skrivebordet. Brug math.radians() og math.ceil() til at konvertere variablerne blue_x og blue_y til radianer og få dem afrundet opad. Brug float() for at sikre, at konstanterne er decimaltal, der kan redigeres. For eksempel, for variablen blue_x: konverter til radianer med blue_x = math.radians(float(blue_x)) og rund værdien op med blue_x = math.ceil(float(blue_x)). Gør det samme for blue_y ved dette X-mærke, og når det er gjort, brug den forudskrevne write() funktion og tilføj variablerne blue_x og blue_y for at nedtegne dem.
Gå til det mørke X-mærke over det grønne tæppe og brug math.radians() og math.floor() til at konvertere variablerne red_x og red_y til radianer og få dem afrundet. For eksempel, for variablen red_x: konverter til radianer med red_x = math.radians(red_x) og rund værdien ned med blue_x = math.floor(red_x). Gør det samme for red_y ved dette X-mærke, og når det er gjort, brug den forudskrevne write() funktion og tilføj variablerne red_x og red_y for at nedtegne dem.
Gå til det gyldne X-mærke og vend dig mod skrivebordet, her skal vi oprette to nye variabler, data_a og data_b. Her vil vi gemme arctangenterne for hvert datasæt ved at bruge funktionen math.atan2. For data_a bruger vi variablerne blue_x og blue_y til at fylde funktionen, således: data_a = math.atan2(blue_x,blue_y). For data_b gør du det samme, men med red_x og red_y. Når dette er gjort, brug den forudskrevne write() funktion og tilføj variablerne data_a og data_b for at nedtegne dem.
Nu hvor de nederste skriveborde er håndteret, gå til det mørke X-mærke over det lilla tæppe, opret en variabel med navnet comparison og brug den med funktionen math.isclose(), med data_a og data_b som argumenter, således: comparison = math.isclose(data_a, data_b). Brug den forudskrevne write() funktion med variablen comparison ved dette X-mærke.
Flyt til X-mærket over det hvide tæppe, opret en liste med navnet data_list og tilføj data_a og data_b i den rækkefølge. Opret en variabel med navnet total og brug funktionen math.fsum() med data_list som argument, således: total = math.fsum(data_list). Brug variablen total med den forudskrevne write() funktion ved dette X-mærke.
Flyt til det mørke X-mærke over det gule tæppe og vend dig mod skrivebordet, konverter data_a og data_b til individuelle listværdier, for eksempel for data_a gør: data_a = [data_a]. Gør det samme for data_b for at konvertere begge variabler til iterables, så de kan bruges med funktionen math.dist(). Opret en variabel med navnet distance og brug den til at gemme værdien af math.dist(), med data_a og data_b som argumenter. Brug variablen distance med den forudskrevne write() funktion for at fuldføre niveauet.