उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
स्ट्रिंग और टाइम मॉड्यूल्स
कैलेंडर मॉड्यूल
उद्देश्य
Calendar मॉड्यूल का उपयोग करके कुछ डिलीवरी टाइमलाइन के लिए कैलेंडर की जांच करें और तिथियाँ सेट करें।
कई शिपमेंट आए हैं और समय सारिणी पूरी करनी है ताकि उन्हें नए फार्म निर्माण के दौरान वितरित किया जा सके। पहले हमने शिपिंग लेबल सेट करने के लिए date मॉड्यूल का उपयोग किया था, यहां हम calendar मॉड्यूल का उपयोग करके समय सारिणी सेट करने जा रहे हैं। मॉड्यूल की क्लासेस और फंक्शंस का उपयोग करने के लिए, सभी संबंधित सामग्रियों को आयात करने हेतु import calendar का उपयोग करें।
हमारे प्रयोजनों के लिए, हम निम्नलिखित calendar मॉड्यूल फंक्शंस का उपयोग करेंगे:
calendar.calendar():पूरे वर्ष का पूर्ण कैलेंडर प्रदर्शित करता है, इसमें एक (1) तर्क लिया जाता है, वह वर्ष जिसे आप प्रदर्शित करना चाहते हैं।calendar.month():एकल माह का कैलेंडर प्रदर्शित करता है, इसमें दो (2) तर्क लिए जाते हैं, वर्ष और महीना।calendar.isleap():जांचता है कि कोई वर्ष लीप वर्ष है या नहीं, इसमें एक (1) तर्क लिया जाता है, वह वर्ष जिसे जांचना है।calendar.leapdays():वर्षों के बीच संचित लीप दिनों की संख्या की जांच करता है, इसमें दो (2) तर्क लिए जाते हैं, जो उस अवधि के वर्षों को दर्शाते हैं जिसे आप जांचना चाहते हैं।itermonthdays():Calendar()क्लास का उपयोग करता है, महीने के सभी दिनों के माध्यम से पुनरावृत्ति करता है, इसमें दो तर्क लिए जाते हैं, वर्ष और महीना।itermonthdates():Calendar()क्लास का उपयोग करता है, महीने की सभी तिथियों के माध्यम से पुनरावृत्ति करता है, इसमें दो तर्क लिए जाते हैं, वर्ष और महीना।monthdayscalendar():Calendar()क्लास का उपयोग करता है, महीने के सभी सप्ताहों के माध्यम से पुनरावृत्ति करता है, इसमें दो तर्क लिए जाते हैं, वर्ष और महीना। डेटा को नेस्टेड लिस्ट में स्टोर करता है।monthdays2calendar():पिछले फंक्शन जैसा ही है लेकिन यह सप्ताह और दिनों को एक द्वि-अधारी सूची (2D list) में साथ में स्टोर करता है।
शुरू करने के लिए, सुनहरे X मार्क तक जाएँ और कैलेंडर की जांच करें, एक चर cal बनाएं और उसमें calendar.calendar() का मूल्य स्टोर करें और तर्क के रूप में वर्ष 2026 जोड़ें, इस तरह: cal = calendar.calendar(2026) . display() फंक्शन का उपयोग करके आपके द्वारा सेट किया गया cal चर प्रदर्शित करें।
कैलेंडर की जांच और प्रदर्शित करने के बाद, हल्के X मार्क पर जाएँ और मेज पर रखे स्प्रेडशीट की जांच करें। memo में शेड्यूल की गई सप्लाई की तारीख का महीना देखने के लिए read() फंक्शन का उपयोग करें। दो चर बनाएं, एक का नाम year और दूसरे का नाम month रखें और उनमें पढ़ी गई जानकारी डालें।
एक चर calendar_month बनाएं और calendar.month() फंक्शन का मूल्य year और month चर के तर्क के रूप में देकर स्टोर करें। display() फंक्शन का उपयोग करके कैलेंडर माह प्रदर्शित करें जिसका उपयोग वितरण समय सारिणी सेट करने के लिए किया जाएगा।
हरा कारपेट वाले अंधेरे X मार्क पर जाएँ, यहाँ हम कुछ डेटा पॉइंट्स लिख रहे हैं ताकि समय सारिणी में कोई विसंगति न हो। दो चर बनाएं, एक का नाम leap_year और दूसरे का नाम leap_days रखें। leap_year चर के लिए calendar.isleap() का परिणाम स्टोर करें और तर्क के रूप में 2026 सेट करें। इससे आपको यह सत्यापित करने में मदद मिलेगी कि वर्तमान परियोजना वर्ष लीप वर्ष है या नहीं। leap_days चर के लिए, calendar.leapdays() का मूल्य स्टोर करें और तर्क के रूप में 2020 और 2027 जोड़ें। यह सुनिश्चित करता है कि पूरे परियोजना अवधि में कितने लीप दिन हुए हैं। पूर्व-लिखित write() फंक्शन का उपयोग करके leap_year और leap_days को डेटा में चार्ट करें।
लाल कारपेट वाले अंधेरे X मार्क पर जाएँ और मेज की तरफ मुड़ें, यहाँ हम महीने के शेड्यूल का रूपरेखा तैयार करेंगे। एक चर date बनाएं और उसमें calendar.Calendar() का मूल्य स्टोर करें, यह एक क्लास ऑब्जेक्ट बनाता है जिसे हम बाद में संदर्भित कर सकते हैं। एक और चर day_roster बनाएं और उसे खाली स्ट्रिंग उद्धरण में सेट करें, इससे हमें दिनों की रोस्टर को एक स्ट्रिंग में स्टोर करने में मदद मिलेगी। इस तरह: day_roster = "" .
एडिटर में पूर्व-लिखित एक for लूप है जो कैलेंडर के माध्यम से पुनरावृत्ति करता है और तिथियाँ रूपरेखा करता है। itermonthdays() फंक्शन का उपयोग करें और उसमें पहले बनाए गए year और month चर को तर्क के रूप में जोड़ें। रोस्टर टैली में जोड़ने के लिए आवश्यक तत्वों को जोड़ें।
for day in dates.itermonthdays(-insert value-, -insert value-): entry = "Day: %s \n" % (day) day_roster += entry
लूप सेट करने के बाद, इसके बाद इस लूप की एक प्रति बनाएं लेकिन इसमें itermonthdays() फंक्शन को बदलकर itermonthdates() फंक्शन का उपयोग करें और तर्क के रूप में year और month चर जोड़ें। entry चर के लिए, इसे इस प्रकार डेटा रिकार्ड करने दें: entry = "%s \n" % (day)। ये हमें परियोजना अवधि की पूर्ण तिथियाँ प्रदान करेंगे। पूर्व-लिखित display() फंक्शन का उपयोग करके day_roster चर के साथ कैलेंडर में परियोजना के पूर्ण दिनों की रोस्टर दिखाएँ।
नीले कालीन वाले अंधेरे X मार्क पर जाएँ और मेमो की ओर मुड़ें, यहाँ हम परियोजना के फॉलो अप वर्क वीक की सूची सेटअप करेंगे जो सूचियों में सूचीबद्ध हैं। एक चर weeks बनाएं और उसमें calendar.Calendar() का मूल्य स्टोर करें, यह एक क्लास ऑब्जेक्ट बनाता है जिसे हम फंक्शंस के साथ संदर्भित कर सकते हैं। month चर को लें और उसका मान 7 से बदल दें ताकि हम जिस समय सारिणी पर काम कर रहे हैं उसे आगे बढ़ा सकें, इस तरह: month = 7 .
एक चर week_roster बनाएं और उसे खाली स्ट्रिंग उद्धरण में सेट करें, इससे हमें सप्ताहों की रोस्टर को एक स्ट्रिंग में स्टोर करने में मदद मिलेगी। इस तरह: week_roster = "" . एडिटर में पूर्व-लिखित एक for लूप है जो कैलेंडर के माध्यम से पुनरावृत्ति करता है और सप्ताह के दिनों को रूपरेखा करता है। monthdayscalendar() फंक्शन का उपयोग करें और तर्क के रूप में पहले बनाए गए year और month चर जोड़ें। रोस्टर टैली में जोड़ने के लिए आवश्यक तत्वों को जोड़ें।
for day in weeks.monthdayscalendar(-insert value-, -insert value-): entry = "%s \n" % (day) week_roster += entry
लूप सेट करने के बाद, इसके बाद इस लूप की एक प्रति बनाएं लेकिन इसमें monthdayscalendar() फंक्शन को बदलकर monthdays2calendar() फंक्शन का उपयोग करें और तर्क के रूप में year और month चर जोड़ें। ये हमें परियोजना अवधि की पूर्ण तिथियों की जानकारी देंगे। पूर्व-लिखित display() फंक्शन का उपयोग करके week_roster चर के साथ कैलेंडर में परियोजना के पूर्ण कार्यदिवसों की रोस्टर प्रदर्शित करें ताकि स्तर पूरा हो सके।