Curs Avansat de Dezvoltare Python
Capitolul
>
Nivel
Module de Matematică
Modul Matematic Extins
Obiectiv
Calculează noile suprafețe de teren ale fermei folosind mai multe funcții importate din modulul math.
Peste pod, anexa dispune de unele birouri folosite pentru măsurarea terenului nelistat, care conturează două părți diferite ale fermei. Aici vom găsi niște dimensiuni și măsurători ale terenului, ar fi o idee bună să le sortăm și să documentăm datele. Poți realiza acest lucru folosind modulul math; în acest nivel vom fi introduși într-un nou set de funcții pe care le putem folosi pentru procesarea datelor. Folosești aceeași instrucțiune import math și math. înaintea funcțiilor pentru a utiliza acest set:
math.radians(): Converteste gradele în radiani / unghiuri.math.floor(): Rotunjește numărul în jos la cel mai apropiat număr de bază.math.ceil(): Rotunjește numărul în sus la un număr mai mare.math.atan2(): Returnează arctangenta dintre două numere în radiani.math.isclose(): Verifică dacă două numere sunt apropiate una de cealaltă, returnează true/false.math.fsum(): Adună împreună numere cu punct zecimal dintr-o listă sau un iterabil.math.dist(): Calculează distanța dintre două puncte; valorile trebuie să fie liste sau iterabile.
Începe adunarea datelor brute de pe grafice mergând către X-ul luminos care marchează suprafața de pe covorul roșu și albastru. Folosește funcția read() pentru identificarea dimensiunilor brute necesare pentru efectuarea măsurătorilor. Aceste măsurători sunt deja stocate în patru constante variabile denumite: red_x, red_y, blue_x și blue_y.
Odată ce ambele seturi de date au fost identificate, mergi către X-ul întunecat de pe covorul portocaliu și îndreaptă-te spre birou. Folosește math.radians() și math.ceil() pentru a converti variabilele blue_x și blue_y în radiani și pentru a le rotunji în sus. Folosește float() pentru a te asigura că constantele sunt numere zecimale ce pot fi modificate. De exemplu, pentru variabila blue_x: convertește în radiani blue_x = math.radians(float(blue_x)) și rotunjește valoarea blue_x = math.ceil(float(blue_x)). Procedează la fel pentru blue_y în acest X; odată ce ai terminat, folosește funcția pre-scrisă write() și adaugă variabilele blue_x și blue_y pentru a le înregistra.
Mergi către X-ul întunecat de pe covorul verde și folosește math.radians() și math.floor() pentru a converti variabilele red_x și red_y în radiani și pentru a le rotunji în sus. De exemplu, pentru variabila red_x: convertește în radiani red_x = math.radians(red_x) și rotunjește valoarea red_x = math.floor(red_x). Procedează la fel pentru red_y în acest X; odată ce ai terminat, folosește funcția pre-scrisă write() și adaugă variabilele red_x și red_y pentru a le înregistra.
Mergi către X-ul auriu și îndreaptă-te spre birou; aici vom crea două variabile noi, data_a și data_b. Aici vom stoca arctangentele fiecărui set folosind funcția math.atan2. Pentru data_a folosim variabilele blue_x și blue_y pentru a popula funcția, astfel: data_a = math.atan2(blue_x,blue_y). Pentru data_b se procedează la fel, dar cu red_x și red_y. Odată ce ai terminat, folosește funcția pre-scrisă write() și adaugă variabilele data_a și data_b pentru a le înregistra.
Acum că birourile inferioare au fost ocupate, mergi la X-ul întunecat de pe covorul mov, creează o variabilă numită comparison și folosește-o cu funcția math.isclose(), folosind data_a și data_b ca argumente, astfel: comparison = math.isclose(data_a, data_b). Folosește funcția pre-scrisă write() cu variabila comparison la acest X.
Mergi la X-ul de pe covorul alb, creează o listă numită data_list și adaugă în ea data_a și data_b în această ordine. Creează o variabilă numită total și folosește funcția math.fsum() cu data_list ca argument, astfel: total = math.fsum(data_list). Folosește variabila total cu funcția pre-scrisă write() la acest X.
Mergi la X-ul întunecat de pe covorul galben și îndreaptă-te spre birou, convertește data_a și data_b în valori individuale de listă; de exemplu, pentru data_a execută: data_a = [data_a]. Procedează la fel pentru data_b pentru a converti ambele variabile în iterabile care vor fi folosite cu funcția math.dist(). Creează o variabilă numită distance și folosește-o pentru a stoca valoarea lui math.dist(), folosind data_a și data_b ca argumente. Folosește variabila distance cu funcția pre-scrisă write() pentru a finaliza nivelul.