Edistynyt Python-kehityskurssi
Luku
>
Taso
Matematiikkamoduulit
Laajennettu matikkamoduuli
Tavoite
Laske maatilalle uudet maanlaajennukset käyttämällä lisää math-moduulista tuotavia funktioita.
Sillan toisella puolella liitossa on joitakin toimistoja, joita käytetään kartoittamaan liittämättömän maan aluetta, joka yhdistää maatilan kaksi erillistä osaa. Täältä löydämme maan ulottuvuuksia ja mittauksia, ja olisi hyvä idea lajitella ne ja dokumentoida tiedot. Voit tehdä tämän käyttämällä math-moduulia; tässä tasossa tutustumme uuteen joukkoon sen funktioita, joita voimme käyttää tietojen käsittelyssä. Käytät samaa import math -lausetta ja math. -etuliitettä funktioiden edessä tämän joukon käyttämiseksi:
math.radians(): Muuntaa asteet radiaaneiksi/kulmiksi.math.floor(): Pyöristää numeron alaspäin lähimpään kokonaislukuun.math.ceil(): Pyöristää numeron ylöspäin seuraavaan kokonaislukuun.math.atan2(): Palauttaa kahden luvun arkustangentin radiaaneina.math.isclose(): Tarkistaa, ovatko kaksi lukua lähellä toisiaan, palauttaa true/false.math.fsum(): Summaa liukuluvut yhteen listasta tai iteroitavasta.math.dist(): Laskee etäisyyden kahden pisteen välillä, arvot tulee olla listoja tai iteroitavia.
Aloita raakadataksi kerääminen kaavioista kävelemällä kevyiden X-merkkien luo, jotka ovat punaisen ja sinisen maton päällä. Käytä read()-funktiota tunnistaaksesi mittausten kannalta tarvittavat ulottuvuudet. Nämä mittaukset on jo tallennettu neljään vakioon nimeltä: red_x, red_y, blue_x ja blue_y.
Kun molemmat tietojoukot on tunnistettu, kävele tummalle X-merkillä oranssin maton päällä ja käänny pöydän puoleen. Käytä math.radians() ja math.ceil() -funktioita muuntaaksesi muuttujat blue_x ja blue_y radiaaneiksi ja pyöristääksesi ne ylöspäin. Käytä float() varmistaaksesi, että vakiot ovat muokattavia desimaalilukuja. Esimerkiksi blue_x-muuttujan kohdalla: muunna radiaaneiksi blue_x = math.radians(float(blue_x)) ja pyöristä arvo ylöspäin blue_x = math.ceil(float(blue_x)). Tee sama blue_y:n kanssa tässä X-merkissä, ja kun olet valmis, käytä ennalta kirjoitettua write()-funktiota ja lisää muuttujat blue_x ja blue_y kaavion piirtämiseksi.
Kävele tummalle X-merkillä vihreän maton päällä ja käytä math.radians() ja math.floor() -funktioita muuntaaksesi muuttujat red_x ja red_y radiaaneiksi ja pyöristääksesi ne alaspäin. Esimerkiksi red_x-muuttujan kohdalla: muunna radiaaneiksi red_x = math.radians(red_x) ja pyöristä arvo alaspäin red_x = math.floor(red_x). Tee sama red_y:n kanssa tässä X-merkissä, ja kun olet valmis, käytä ennalta kirjoitettua write()-funktiota ja lisää muuttujat red_x ja red_y kaavion piirtämiseksi.
Kävele kultaiselle X-merkillä ja käänny pöydän puoleen; tässä luomme kaksi uutta muuttujaa, data_a ja data_b. Tähän tallennamme kummankin joukon arkustangentit käyttämällä math.atan2 -funktiota. data_a:lle käytämme muuttujia blue_x ja blue_y funktiota varten, esimerkiksi näin: data_a = math.atan2(blue_x,blue_y). data_b:lle teemme samoin käyttäen muuttujia red_x ja red_y. Kun olet valmis, käytä ennalta kirjoitettua write()-funktiota ja lisää muuttujat data_a ja data_b kaavion piirtämiseksi.
Kun alemmat työpisteet on hoidettu, kävele tummalle X-merkillä violetti maton päällä, luo muuttuja nimeltä comparison ja käytä sitä yhdessä math.isclose() -funktion kanssa, käyttäen data_a ja data_b argumentteina, esimerkiksi näin: comparison = math.isclose(data_a, data_b). Käytä ennalta kirjoitettua write()-funktiota ja lisää comparison-muuttuja tässä X-merkillä.
Siirry X-merkkiin valkoisen maton päällä, luo lista nimeltä data_list ja lisää siihen data_a ja data_b siinä järjestyksessä. Luo muuttuja nimeltä total ja käytä math.fsum() -funktiota, jonka argumenttina on data_list, esimerkiksi näin: total = math.fsum(data_list). Käytä total-muuttujaa ennalta kirjoitetun write()-funktion kanssa tässä X-merkillä.
Siirry tummalle X-merkillä keltaisen maton päällä ja käänny pöydän puoleen, muunna data_a ja data_b erillisiksi listan arvoiksi, esimerkiksi data_a:lle tee: data_a = [data_a]. Tee sama data_b:lle, jotta molemmista muuttujista tulee iteroitavia math.dist()-funktion käyttöä varten. Luo muuttuja nimeltä distance ja käytä sitä tallentaaksesi math.dist() -funktion arvon, käyttäen argumentteina data_a ja data_b. Käytä distance-muuttujaa ennalta kirjoitetun write()-funktion kanssa tason suorittamiseksi.