Avansert Pythonutviklingskurs
Kapittel
>
Nivå

Matematiske moduler
Utvidet matematikkmodul

Mål

Beregn de nye landutvidelsene til gården ved å bruke flere funksjoner importert fra math-modulen.

På den andre siden av broen har annexet noen kontorer som brukes til å kartlegge det ubebyggede området som knytter sammen to forskjellige deler av gården. Her vil vi finne noen landmål og målinger, og det ville vært en god idé å sortere dem og dokumentere dataene. Du kan oppnå dette ved å bruke math-modulen, og i dette nivået blir vi introdusert for et nytt sett med funksjoner vi kan bruke til å prosessere dataene. Du bruker den samme import math og math. før funksjonene for å bruke dette settet:

  • math.radians(): Konverterer grader til radianer / vinkler.
  • math.floor(): Avrunder tallet ned til et lavere tall.
  • math.ceil(): Avrunder tallet opp til et høyere tall.
  • math.atan2(): Returnerer den inverse tangensverdien mellom to tall i radianer.
  • math.isclose(): Sjekker om to tall er nærme hverandre, returnerer true/false.
  • math.fsum(): Legger sammen flyttall (desimaltall) fra en liste eller itererbar.
  • math.dist(): Sjekker avstanden mellom to punkter, verdiene må være lister eller itererbare.

Start med å samle de rådataene fra diagrammene ved å gå til de lyse X-markeringene over den røde og blå teppet. Bruk funksjonen read() for å identifisere de rå dimensjonene som trengs for å ta målinger. Disse målingene er allerede lagret i fire variabelkonstanter som heter: red_x , red_y , blue_x og blue_y

Når begge datasett er identifisert, gå til den mørke X-markeringen over den oransje teppet og vend deg mot skrivebordet. Bruk math.radians() og math.ceil() for å konvertere variablene blue_x og blue_y til radianer og få dem avrundet oppover. Bruk float() for å sikre at konstantene er desimaltall som kan redigeres. For eksempel, for variabelen blue_x: konverter til radianer med blue_x = math.radians(float(blue_x)) og avrund opp med blue_x = math.ceil(float(blue_x)). Gjør det samme for blue_y på denne X-markeringen, og når du er ferdig, bruk den forhåndsskrevne funksjonen write() og legg til variablene blue_x og blue_y for å registrere dem.

Gå til den mørke X-markeringen over den grønne teppet og bruk math.radians() og math.floor() for å konvertere variablene red_x og red_y til radianer og få dem avrundet nedover. For eksempel, for variabelen red_x: konverter til radianer med red_x = math.radians(red_x) og avrund ned med blue_x = math.floor(red_x). Gjør det samme for red_y på denne X-markeringen, og når du er ferdig, bruk den forhåndsskrevne funksjonen write() og legg til variablene red_x og red_y for å registrere dem.

Gå til den gullfargede X-markeringen og vend deg mot skrivebordet, her skal vi opprette to nye variabler, data_a og data_b. Her skal vi lagre de inverse tangensverdiene for hvert sett ved å bruke funksjonen math.atan2. For data_a bruker vi variablene blue_x og blue_y for å fylle funksjonen, slik: data_a = math.atan2(blue_x,blue_y). For data_b gjør du det samme, men med red_x og red_y. Når det er gjort, bruk den forhåndsskrevne funksjonen write() og legg til variablene data_a og data_b for å registrere dem.

Nå som de nederste skrivebordene er tatt hånd om, gå til den mørke X-markeringen over den lilla teppet, opprett en variabel kalt comparison og bruk den med funksjonen math.isclose() med data_a og data_b som argumenter, slik: comparison = math.isclose(data_a, data_b). Bruk den forhåndsskrevne funksjonen write() med variabelen comparison på denne X-markeringen.

Flytt til X-markeringen over den hvite teppet, opprett en liste kalt data_list og legg til data_a og data_b i den rekkefølgen. Opprett en variabel kalt total og bruk funksjonen math.fsum() med data_list som argument, slik: total = math.fsum(data_list). Bruk variabelen total med den forhåndsskrevne funksjonen write() på denne X-markeringen.

Gå til den mørke X-markeringen over den gule teppet og vend deg mot skrivebordet, konverter data_a og data_b til individuelle listeverdier, for eksempel for data_a skriv: data_a = [data_a]. Gjør det samme for data_b for å konvertere begge variablene til itererbare for bruk med funksjonen math.dist(). Opprett en variabel kalt distance og bruk den til å lagre verdien fra math.dist(), ved å bruke data_a og data_b som argumenter. Bruk variabelen distance med den forhåndsskrevne funksjonen write() for å fullføre nivået.

Kodebok