Fortgeschrittener Python-Entwicklungskurs
Kapitel
>
Stufe
Mathematische Module
Erweitertes Mathematikmodul
Ziel
Berechne die neuen Landflächen der Farm mithilfe weiterer Funktionen, die aus dem math-Modul importiert wurden.
Auf der anderen Seite der Brücke befinden sich im Anbau einige Büros, die zur Vermessung des uninkorporierten Landes genutzt werden, das zwei verschiedene Teile der Farm miteinander verbindet. Hier finden wir einige Landmaße und Messungen; es wäre eine gute Idee, diese zu sortieren und die Daten zu dokumentieren. Du kannst dies mit dem math-Modul erreichen. In diesem Level werden wir in einen neuen Satz seiner Funktionen eingeführt, die wir zur Verarbeitung der Daten verwenden können. Du benutzt dasselbe import math und math. vor den Funktionen, um diesen Satz zu nutzen:
math.radians(): Wandelt Grad in Bogenmaß / Winkel um.math.floor(): Rundet eine Zahl zum nächstkleineren Ganzzahlwert ab.math.ceil(): Rundet eine Zahl auf den nächsthöheren Ganzzahlwert.math.atan2(): Gibt den Arkustangens zwischen zwei Zahlen in Bogenmaß zurück.math.isclose(): Überprüft, ob zwei Zahlen nah beieinander liegen, gibt true/false zurück.math.fsum(): Addiert Gleitkommazahlen (Dezimalzahlen) aus einer Liste oder einem iterierbaren Objekt.math.dist(): Berechnet die Distanz zwischen zwei Punkten, wobei die Werte als Liste oder iterierbares Objekt vorliegen müssen.
Beginne damit, die Rohdaten aus den Diagrammen zu sammeln, indem du zu den hellen X-Markierungen über dem roten und blauen Teppich gehst. Verwende die read()-Funktion, um die Rohmaße zu identifizieren, die für die Messungen benötigt werden. Diese Messwerte sind bereits in vier Variablenkonstanten gespeichert, die heißen: red_x, red_y, blue_x und blue_y
Sobald beide Datensätze identifiziert wurden, gehe zur dunklen X-Markierung über dem orangefarbenen Teppich und wende dich dem Schreibtisch zu. Verwende math.radians() und math.ceil(), um die Variablen blue_x und blue_y in Bogenmaß umzuwandeln und aufzurunden. Benutze float(), um sicherzustellen, dass die Konstanten als veränderbare Dezimalzahlen vorliegen. Zum Beispiel: Für die Variable blue_x – wandle in Bogenmaß um mit blue_x = math.radians(float(blue_x)) und runde dann den Wert auf mit blue_x = math.ceil(float(blue_x)). Mache dasselbe für blue_y an dieser X-Markierung. Sobald dies erledigt ist, verwende die vorgegebene write()-Funktion, um die Variablen blue_x und blue_y aufzuzeichnen.
Gehe zur dunklen X-Markierung über dem grünen Teppich und verwende math.radians() und math.floor(), um die Variablen red_x und red_y in Bogenmaß umzuwandeln und abzurunden. Zum Beispiel: Für die Variable red_x – wandle in Bogenmaß um mit red_x = math.radians(red_x) und runde den Wert ab mit blue_x = math.floor(red_x). Mache dasselbe für red_y an dieser X-Markierung. Sobald dies erledigt ist, verwende die vorgegebene write()-Funktion, um die Variablen red_x und red_y aufzuzeichnen.
Gehe zur goldenen X-Markierung und wende dich dem Schreibtisch zu. Hier werden wir zwei neue Variablen erstellen, data_a und data_b. In diesen speichern wir die Arkustangenswerte jedes Datensatzes, indem wir die Funktion math.atan2 verwenden. Für data_a nutzen wir die Variablen blue_x und blue_y, wie folgt: data_a = math.atan2(blue_x,blue_y). Für data_b mache dasselbe, jedoch mit red_x und red_y. Sobald dies erledigt ist, verwende die vorgegebene write()-Funktion, um die Variablen data_a und data_b aufzuzeichnen.
Nachdem die unteren Schreibtische bearbeitet wurden, gehe zur dunklen X-Markierung über dem violetten Teppich, erstelle eine Variable namens comparison und verwende sie mit der Funktion math.isclose(), wobei data_a und data_b als Argumente genutzt werden, wie folgt: comparison = math.isclose(data_a, data_b). Verwende die vorgegebene write()-Funktion mit der Variable comparison an dieser X-Markierung.
Bewege dich zur X-Markierung über dem weißen Teppich, erstelle eine Liste namens data_list und füge data_a und data_b in genau dieser Reihenfolge hinzu. Erstelle eine Variable namens total und verwende die Funktion math.fsum() mit data_list als Argument, wie folgt: total = math.fsum(data_list). Verwende die Variable total mit der vorgegebenen write()-Funktion an dieser X-Markierung.
Bewege dich zur dunklen X-Markierung über dem gelben Teppich und wende dich dem Schreibtisch zu, konvertiere data_a und data_b in einzelne Listenwerte, zum Beispiel für data_a verwende: data_a = [data_a]. Mache dasselbe für data_b, um beide Variablen in Iterables zu konvertieren, die mit der Funktion math.dist() verwendet werden können. Erstelle eine Variable namens distance und speichere darin den Wert von math.dist(), wobei data_a und data_b als Argumente genutzt werden. Verwende die Variable distance mit der vorgegebenen write()-Funktion, um den Level abzuschließen.