Gevorderde Python-ontwikkelingscursus
Hoofdstuk
>
Niveau
Wiskundemodules
Uitgebreide wiskundemodule
Doelstelling
Bereken de nieuwe lande extensies van de boerderij met behulp van meer functies geïmporteerd door de math-module.
Aan de overkant van de brug heeft de aanbouw enkele kantoren die worden gebruikt om het niet-ingelijfde land te inspecteren dat twee verschillende delen van de boerderij met elkaar verbindt. Hier vinden we enkele landafmetingen en metingen; het zou een goed idee zijn om deze te sorteren en de data te documenteren. Dit kun je bereiken door de math-module te gebruiken. In dit level maken we kennis met een nieuwe set functies die we kunnen gebruiken om de data te verwerken. Je gebruikt dezelfde import math en math. voor de functies om deze set te gebruiken:
math.radians(): Zet graden om in radialen / hoeken.math.floor(): Rondt een getal af naar beneden op een basisgetal.math.ceil(): Rondt een getal af naar boven op een hoger getal.math.atan2(): Geeft de boogtangens tussen twee getallen in radialen.math.isclose(): Controleert of twee getallen dicht bij elkaar liggen, geeft true/false terug.math.fsum(): Telt drijvende-kommagetallen (decimale getallen) bij elkaar op uit een lijst of iterabele.math.dist(): Berekent de afstand tussen twee punten, waarbij de waarden lijsten of iterabel moeten zijn.
Begin met het verzamelen van de ruwe gegevens uit de grafieken door naar de lichte X-tekens op het rode en blauwe tapijt te lopen. Gebruik de read() functie om de ruwe afmetingen te identificeren die nodig zijn om metingen te verrichten. Deze metingen zijn al opgeslagen in vier variabele constanten genaamd: red_x , red_y , blue_x en blue_y.
Zodra beide gegevenssets zijn geïdentificeerd, loop naar het donkere X-teken op het oranje tapijt en richt je op het bureau. Gebruik de math.radians() en math.ceil() om de blue_x en blue_y variabelen om te zetten naar radialen en ze naar boven af te ronden. Gebruik float() om ervoor te zorgen dat de constanten decimale getallen zijn die bewerkt kunnen worden. Bijvoorbeeld, voor de blue_x variabele: zet om naar radialen blue_x = math.radians(float(blue_x)) en rond af naar boven blue_x = math.ceil(float(blue_x)). Doe hetzelfde voor blue_y bij dit X-teken, en als je klaar bent, gebruik de vooraf geschreven write() functie en voeg de blue_x en blue_y variabelen toe om ze te registreren.
Loop naar het donkere X-teken op het groene tapijt en gebruik math.radians() en math.floor() om de red_x en red_y variabelen om te zetten naar radialen en naar beneden af te ronden. Bijvoorbeeld, voor de red_x variabele: zet om naar radialen red_x = math.radians(red_x) en rond af met blue_x = math.floor(red_x). Doe hetzelfde voor red_y bij dit X-teken, en als je klaar bent, gebruik de vooraf geschreven write() functie en voeg de red_x en red_y variabelen toe om ze te registreren.
Loop naar het gouden X-teken en richt je op het bureau, hier maken we twee nieuwe variabelen, data_a en data_b. Hier slaan we de boogtangens van elke set op met behulp van de math.atan2 functie. Voor data_a gebruiken we de blue_x en blue_y variabelen om de functie te vullen, als volgt: data_a = math.atan2(blue_x,blue_y). Voor data_b doe je hetzelfde, maar dan met red_x en red_y. Als je klaar bent, gebruik de vooraf geschreven write() functie en voeg de data_a en data_b variabelen toe om ze te registreren.
Nu de onderste bureaus zijn afgehandeld, loop naar het donkere X-teken op het paarse tapijt, maak een variabele genaamd comparison aan en gebruik deze met de math.isclose() functie, met data_a en data_b als argumenten, als volgt: comparison = math.isclose(data_a, data_b). Gebruik de vooraf geschreven write() functie met de comparison variabele bij dit X-teken.
Ga naar het X-teken op het witte tapijt, maak een lijst genaamd data_list en voeg data_a en data_b in die volgorde toe. Maak een variabele genaamd total aan en gebruik de math.fsum() functie met de data_list als argument, als volgt: total = math.fsum(data_list). Gebruik de variabele total met de vooraf geschreven write() functie bij dit X-teken.
Ga naar het donkere X-teken op het gele tapijt en richt je op het bureau, zet data_a en data_b om in individuele lijstwaarden, bijvoorbeeld voor data_a doe: data_a = [data_a]. Doe hetzelfde voor data_b om beide variabelen om te zetten in iterabele objecten voor gebruik met de math.dist() functie. Maak een variabele genaamd distance aan en sla hierin de waarde van math.dist() op, waarbij je data_a en data_b als argumenten gebruikt. Gebruik de distance variabele met de vooraf geschreven write() functie om het level te voltooien.