Προχωρημένο Μάθημα Ανάπτυξης σε Python
Κεφάλαιο
>
Επίπεδο
Μαθηματικά Modules
Επεκταμένη Μαθηματική Ενότητα
Στόχος
Υπολογίστε τις νέες εκτάσεις γης στο αγρόκτημα χρησιμοποιώντας επιπλέον συναρτήσεις που εισάγονται από το module math.
Πέρα από τη γέφυρα, το προσάρτημα διαθέτει κάποια γραφεία που χρησιμοποιούνται για τη μέτρηση της μη ενσωματωμένης γης που συνδέει δύο διαφορετικά μέρη του αγροκτήματος. Εδώ θα βρούμε κάποιες διαστάσεις και μετρήσεις της γης, θα ήταν καλή ιδέα να τις ταξινομήσουμε και να τεκμηριώσουμε τα δεδομένα. Μπορείτε να το πετύχετε χρησιμοποιώντας το module math, σε αυτό το επίπεδο θα μας παρουσιαστεί ένα νέο σύνολο συναρτήσεων που μπορούμε να χρησιμοποιήσουμε για την επεξεργασία των δεδομένων. Χρησιμοποιείτε το ίδιο import math και math. πριν τις συναρτήσεις για να χρησιμοποιήσετε αυτό το σύνολο:
math.radians(): Μετατρέπει τις μοίρες σε ακτίνια / γωνίες.math.floor(): Στρογγυλοποιεί έναν αριθμό προς τα κάτω σε έναν “βασικό” αριθμό.math.ceil(): Στρογγυλοποιεί έναν αριθμό προς τα πάνω σε έναν μεγαλύτερο αριθμό.math.atan2(): Επιστρέφει την τόξο εφαπτομένη μεταξύ δύο αριθμών σε ακτίνια.math.isclose(): Ελέγχει αν δύο αριθμοί είναι κοντά ο ένας στον άλλο, επιστρέφει true/false.math.fsum(): Προσθέτει δεκαδικούς αριθμούς (floating point) μαζί από μια λίστα ή ακολουθία.math.dist(): Ελέγχει την απόσταση μεταξύ δύο σημείων, όπου οι τιμές πρέπει να είναι λίστες ή ακολουθίες.
Ξεκινήστε τη συλλογή των ακατέργαστων δεδομένων από τα διαγράμματα περπατώντας προς το φωτεινό σημείο X πάνω από το κόκκινο και μπλε χαλί. Χρησιμοποιήστε τη συνάρτηση read() για να εντοπίσετε τις ακατέργαστες διαστάσεις που χρειάζονται για τη λήψη μετρήσεων. Αυτές οι μετρήσεις είναι ήδη αποθηκευμένες σε τέσσερις μεταβλητές σταθερών με ονόματα: red_x, red_y, blue_x και blue_y.
Μόλις εντοπιστούν και οι δύο ομάδες δεδομένων, περπατήστε προς το σκούρο σημείο X πάνω από το πορτοκαλί χαλί και στραφείτε προς το γραφείο. Χρησιμοποιήστε τις συναρτήσεις math.radians() και math.ceil() για να μετατρέψετε τις μεταβλητές blue_x και blue_y σε ακτίνια και να τις στρογγυλοποιήσετε προς τα πάνω. Χρησιμοποιήστε τη float() για να διασφαλίσετε ότι οι σταθερές είναι δεκαδικές που μπορούν να επεξεργαστούν. Για παράδειγμα, για τη μεταβλητή blue_x: μετατρέψτε σε ακτίνια με blue_x = math.radians(float(blue_x)) και στρογγυλοποιήστε την τιμή με blue_x = math.ceil(float(blue_x)). Κάντε το ίδιο για τη blue_y σε αυτό το σημείο και, μόλις ολοκληρωθεί, χρησιμοποιήστε την προκαθορισμένη συνάρτηση write() και προσθέστε τις μεταβλητές blue_x και blue_y για να τις καταγράψετε.
Περπατήστε προς το σκούρο σημείο X πάνω από το πράσινο χαλί και χρησιμοποιήστε τις συναρτήσεις math.radians() και math.floor() για να μετατρέψετε τις μεταβλητές red_x και red_y σε ακτίνια και να τις στρογγυλοποιήσετε προς τα κάτω. Για παράδειγμα, για τη μεταβλητή red_x: μετατρέψτε σε ακτίνια με red_x = math.radians(red_x) και στρογγυλοποιήστε την τιμή με blue_x = math.floor(red_x). Κάντε το ίδιο για τη red_y σε αυτό το σημείο και, μόλις ολοκληρωθεί, χρησιμοποιήστε την προκαθορισμένη συνάρτηση write() και προσθέστε τις μεταβλητές red_x και red_y για να τις καταγράψετε.
Περπατήστε προς το χρυσό σημείο X και στραφείτε προς το γραφείο. Εδώ θα δημιουργήσουμε δύο νέες μεταβλητές, data_a και data_b. Εδώ θα αποθηκεύσουμε τις τόξες εφαπτομένες κάθε ομάδας χρησιμοποιώντας τη συνάρτηση math.atan2. Για τη data_a χρησιμοποιούμε τις μεταβλητές blue_x και blue_y για να τροφοδοτήσουμε τη συνάρτηση, ως εξής: data_a = math.atan2(blue_x,blue_y). Για τη data_b, κάντε το ίδιο αλλά με τις red_x και red_y. Μόλις ολοκληρωθεί, χρησιμοποιήστε την προκαθορισμένη συνάρτηση write() και προσθέστε τις μεταβλητές data_a και data_b για να τις καταγράψετε.
Τώρα που έχουν τακτοποιηθεί τα χαμηλότερα γραφεία, περπατήστε προς το σκούρο σημείο X πάνω από το μωβ χαλί, δημιουργήστε μια μεταβλητή με όνομα comparison και χρησιμοποιήστε την με τη συνάρτηση math.isclose(), χρησιμοποιώντας τις data_a και data_b ως ορίσματα, ως εξής: comparison = math.isclose(data_a, data_b). Χρησιμοποιήστε την προκαθορισμένη συνάρτηση write() με τη μεταβλητή comparison σε αυτό το σημείο.
Μεταβείτε στο σημείο X πάνω από το άσπρο χαλί, δημιουργήστε μια λίστα με όνομα data_list και προσθέστε τις data_a και data_b με αυτή τη σειρά. Δημιουργήστε μια μεταβλητή με όνομα total και χρησιμοποιήστε τη συνάρτηση math.fsum() με τη λίστα data_list ως όρισμα, ως εξής: total = math.fsum(data_list). Χρησιμοποιήστε τη μεταβλητή total με την προκαθορισμένη συνάρτηση write() σε αυτό το σημείο.
Μεταβείτε στο σκούρο σημείο X πάνω από το κίτρινο χαλί και στραφείτε προς το γραφείο, μετατρέψτε τις μεταβλητές data_a και data_b σε μεμονωμένες τιμές λίστας, για παράδειγμα για τη data_a κάντε: data_a = [data_a]. Κάντε το ίδιο για τη data_b ώστε να μετατραπούν και οι δύο μεταβλητές σε ακολουθίες για χρήση με τη συνάρτηση math.dist(). Δημιουργήστε μια μεταβλητή με όνομα distance και χρησιμοποιήστε την για να αποθηκεύσετε την τιμή της math.dist(), χρησιμοποιώντας τις data_a και data_b ως ορίσματα. Χρησιμοποιήστε τη μεταβλητή distance με την προκαθορισμένη συνάρτηση write() για να ολοκληρώσετε το επίπεδο.