Διαδρομές
/
Python
Python
/
Ασκήσεις
/
Διαστημική εποχή
Διαστημική εποχή

Διαστημική εποχή

Εύκολο

Εισαγωγή

Το έτος είναι 2525 και μόλις ξεκίνησες ένα ταξίδι για να επισκεφτείς όλους τους πλανήτες του Ηλιακού Συστήματος (Ερμή, Αφροδίτη, Γη, Άρη, Δία, Κρόνο, Ουρανό και Ποσειδώνα). Η πρώτη στάση είναι ο Ερμής, όπου το τελωνείο απαιτεί να συμπληρώσεις ένα έντυπο (η γραφειοκρατία προφανώς δεν είναι γήινη υπόθεση). Καθώς παραδίδεις το έντυπο στον τελωνειακό υπάλληλο, εκείνος το εξετάζει σχολαστικά και συνοφρυώνεται. "Περιμένεις πραγματικά να πιστέψω ότι είσαι μόλις 50 χρονών; Πρέπει να είσαι κοντά στα 200!"

Διασκεδάζοντας, περιμένεις να αρχίσει να γελάει ο τελωνειακός υπάλληλος, αλλά δείχνει απόλυτα σοβαρός. Συνειδητοποιείς ότι έγραψες την ηλικία σου σε γήινα χρόνια, αλλά ο υπάλληλος την περίμενε σε χρόνια του Ερμή! Καθώς η τροχιακή περίοδος του Ερμή γύρω από τον ήλιο είναι σημαντικά μικρότερη από αυτή της Γης, είσαι στην πραγματικότητα πολύ μεγαλύτερος σε χρόνια του Ερμή. Έπειτα από μερικούς γρήγορους υπολογισμούς, καταφέρνεις να δηλώσεις την ηλικία σου σε χρόνια του Ερμή. Ο τελωνειακός υπάλληλος χαμογελάει ικανοποιημένος και σου κάνει νόημα να περάσεις. Σημειώνεις νοερά να προϋπολογίζεις την ηλικία σου για κάθε πλανήτη πριν από τους μελλοντικούς τελωνειακούς ελέγχους, για να αποφεύγεις τέτοιες παρεξηγήσεις.

Note

Αν αναρωτιέσαι γιατί ο Πλούτωνας έμεινε εκτός, δες αυτό το βίντεο στο YouTube.

Οδηγίες

Με δεδομένη μια ηλικία σε δευτερόλεπτα, υπολόγισε πόσο χρονών θα ήταν κάποιος σε έναν πλανήτη του Ηλιακού μας Συστήματος.

Ένα έτος της Γης ισούται με 365.25 ημέρες της Γης, ή 31,557,600 δευτερόλεπτα. Αν σου έλεγαν ότι κάποιος είναι 1,000,000,000 δευτερόλεπτα, η ηλικία του θα ήταν 31.69 έτη της Γης.

Για τους άλλους πλανήτες, πρέπει να λάβεις υπόψη την τροχιακή τους περίοδο σε έτη της Γης:

Πλανήτης Τροχιακή περίοδος σε έτη της Γης
Ερμής 0.2408467
Αφροδίτη 0.61519726
Γη 1.0
Άρης 1.8808158
Δίας 11.862615
Κρόνος 29.447498
Ουρανός 84.016846
Ποσειδώνας 164.79132
Note

Το πραγματικό μήκος μιας πλήρους περιφοράς της Γης γύρω από τον ήλιο είναι πιο κοντά στις 365.256 ημέρες (1 αστρικό έτος). Το Γρηγοριανό ημερολόγιο έχει, κατά μέσο όρο, 365.2425 ημέρες. Αν και όχι απολύτως ακριβής, το 365.25 είναι η τιμή που χρησιμοποιείται σε αυτή την άσκηση. Δες το Έτος στη Βικιπαίδεια για περισσότερους τρόπους μέτρησης ενός έτους.

Στη διαδρομή Python, αυτή η άσκηση σου ζητά να δημιουργήσεις μια κλάση SpaceAge (classes) που περιλαμβάνει μεθόδους για όλους τους πλανήτες του ηλιακού συστήματος. Οι μέθοδοι πρέπει να ακολουθούν τη σύμβαση ονομασίας on_<planet name>.

Κάθε μέθοδος πρέπει να return την ηλικία ("στον" συγκεκριμένο πλανήτη) σε χρόνια, στρογγυλοποιημένη σε δύο δεκαδικά ψηφία:

#creating an instance with one billion seconds, and calling .on_earth().
>>> SpaceAge(1000000000).on_earth()

#This is one billion seconds on Earth in years
31.69

Για περισσότερες πληροφορίες σχετικά με τη δημιουργία και τη χρήση κλάσεων, δες:

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Python Exercism

Έτοιμος να ξεκινήσεις την άσκηση Διαστημική εποχή;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις Python με 17 έννοιες146 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.