Gevorderde Python-ontwikkelingscursus
Hoofdstuk
>
Niveau
Wiskundemodules
Uitgebreide Wiskundemodule
Doel
Bereken de nieuwe grondextensies voor de boerderij met behulp van meer functies geïmporteerd vanuit het math module.
Aan de overkant van de brug heeft het bijgebouw enkele kantoren die worden gebruikt om het niet-geïntegreerde land te onderzoeken dat twee verschillende delen van de boerderij samenvoegt. Hier vinden we enkele landafmetingen en metingen; het zou een goed idee zijn om ze te sorteren en de gegevens te documenteren. Dit kun je bereiken met behulp van het math module, in dit level maken we kennis met een nieuwe set functies die we kunnen gebruiken om de gegevens te verwerken. Gebruik dezelfde import math en math. voor functies om deze set te gebruiken:
math.radians(): Zet graden om in radialen (hoeken).math.floor(): Rondt een getal naar beneden af tot een lager getal.math.ceil(): Rondt een getal naar boven af tot een hoger getal.math.atan2(): Geeft de boogtangens tussen twee getallen in radialen terug.math.isclose(): Controleert of twee getallen dicht bij elkaar liggen, retourneert true/false.math.fsum(): Voegt drijvende-komma (decimale) getallen samen uit een lijst of iterabele.math.dist(): Berekent de afstand tussen twee punten; de waarden moeten lijsten of iterabele zijn.
Begin met het verzamelen van de ruwe gegevens uit de grafieken door te lopen naar de lichtgekleurde X-tekens op het rode en blauwe tapijt. Gebruik de read() functie om de ruwe afmetingen te identificeren die nodig zijn om metingen uit te voeren. Deze metingen zijn al opgeslagen in vier constante variabelen genaamd: red_x, red_y, blue_x en blue_y
Zodra beide datasets geïdentificeerd zijn, loop naar het donkere X-teken op het oranje tapijt en richt je op het bureau. Gebruik math.radians() en math.ceil() om de variabelen blue_x en blue_y 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 de waarde af naar boven met blue_x = math.ceil(float(blue_x)). Doe hetzelfde voor blue_y op dit X-teken. Zodra dit is voltooid, gebruik de voorgeprogrammeerde write() functie en voeg de variabelen blue_x en blue_y toe om ze vast te leggen.
Loop naar het donkere X-teken op het groene tapijt en gebruik math.radians() en math.floor() om de variabelen red_x en red_y om te zetten naar radialen en ze naar beneden af te ronden. Bijvoorbeeld, voor de variabele red_x: zet om naar radialen red_x = math.radians(red_x) en rond de waarde af naar beneden met blue_x = math.floor(red_x). Doe hetzelfde voor red_y op dit X-teken. Zodra dit is voltooid, gebruik de voorgeprogrammeerde write() functie en voeg de variabelen red_x en red_y toe om ze vast te leggen.
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 variabelen blue_x en blue_y om de functie te vullen, zoals dit: data_a = math.atan2(blue_x,blue_y). Voor data_b doe je hetzelfde, maar dan met red_x en red_y. Zodra dit is voltooid, gebruik de voorgeprogrammeerde write() functie en voeg de variabelen data_a en data_b toe om ze vast te leggen.
Nu de lagere bureaus zijn afgehandeld, loop naar het donkere X-teken op het paarse tapijt, maak een variabele genaamd comparison en gebruik deze met de math.isclose() functie, waarbij je data_a en data_b als argumenten gebruikt, zoals dit: comparison = math.isclose(data_a, data_b). Gebruik de voorgeprogrammeerde write() functie met de variabele comparison op 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 toe in die volgorde. Maak een variabele genaamd total en gebruik de math.fsum() functie met data_list als argument, zoals dit: total = math.fsum(data_list). Gebruik de variabele total met de voorgeprogrammeerde write() functie op 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 naar individuele lijstwaarden. Bijvoorbeeld, voor data_a doe: data_a = [data_a]. Doe hetzelfde voor data_b om beide variabelen om te zetten naar iterables voor gebruik met de math.dist() functie. Maak een variabele genaamd distance en gebruik deze om de waarde van math.dist() op te slaan, waarbij je data_a en data_b als argumenten gebruikt. Gebruik de variabele distance met de voorgeprogrammeerde write() functie om het level te voltooien.