साल 2525 है और आप अभी-अभी सौरमंडल के सारे ग्रहों की यात्रा पर निकले हैं (बुध, शुक्र, पृथ्वी, मंगल, बृहस्पति, शनि, अरुण और वरुण)।
पहला पड़ाव बुध है, जहाँ सीमा शुल्क विभाग आपसे एक फॉर्म भरवाता है (नौकरशाही साफ़ तौर पर सिर्फ़ पृथ्वी पर नहीं है)।
जब आप यह फॉर्म सीमा शुल्क अधिकारी को सौंपते हैं, तो वे उसे गौर से देखते हैं और भौंहें सिकोड़ लेते हैं।
"क्या आप सच में चाहते हैं कि मैं यह मान लूँ कि आपकी उम्र सिर्फ़ 50 साल है? आपकी उम्र तो 200 साल के आसपास होनी चाहिए!"
आपको यह सुनकर हँसी आती है और आप इंतज़ार करते हैं कि अधिकारी भी हँसेंगे, लेकिन वे एकदम गंभीर दिखते हैं।
तब आपको समझ आता है कि आपने अपनी उम्र पृथ्वी के सालों में भरी है, जबकि अधिकारी को उसकी उम्मीद बुध के सालों में थी!
सूरज के चारों ओर बुध की परिक्रमा की अवधि पृथ्वी की तुलना में बहुत कम है, इसलिए बुध के सालों में आपकी उम्र वास्तव में कहीं ज़्यादा होती है।
कुछ फुर्तीले हिसाब लगाने के बाद आप अपनी उम्र बुध के सालों में बता पाते हैं।
सीमा शुल्क अधिकारी संतुष्ट होकर मुस्कुराते हैं और आपको आगे जाने का इशारा करते हैं।
आप मन ही मन तय करते हैं कि आगे सीमा शुल्क की जाँच से पहले ही हर ग्रह के हिसाब से अपनी उम्र निकाल लेंगे, ताकि ऐसी गड़बड़ दोबारा न हो।
अगर आप सोच रहे हैं कि प्लूटो को इस सूची में जगह क्यों नहीं मिली, तो यह 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 |
सूरज के चारों ओर पृथ्वी का एक पूरा चक्कर असल में 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
क्लास बनाने और उनका इस्तेमाल करने के बारे में अधिक जानकारी के लिए देखिए:
Exercism पर साइन अप कीजिए और Python को 17 कॉन्सेप्ट146 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।