उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर
उन्नत कक्षाएँ
ऑपरेटर ओवरलोडिंग
उद्देश्य
वेक्टर और ऑपरेटर ओवरलोडिंग का उपयोग करके कितनी शराब शुद्ध की जा रही है, इसका योग करें।
शराब को प्रेस करने के बाद इसे फ़िल्टर और स्पष्ट करना आवश्यक होता है, कई बैरल फ़िल्टर किए जा रहे हैं और उनमें से अधिकांश को फ्लश करना पड़ता है। यह महत्वपूर्ण है कि यह गणना की जाए कि कितनी शराब बनाई जा रही है ताकि बैरल्स को सील किया जा सके और उम्र बढ़ाई जा सके।
इसके लिए आपको वेक्टर बनाने होंगे और उन्हें एक साथ जोड़ना होगा, ये सूचियों के समान होते हैं लेकिन उतने लचीले नहीं होते फिर भी अधिक मेमोरी कुशल होते हैं। इन्हें आमतौर पर निर्देशांकों को संभालने के लिए इस्तेमाल किया जाता है, इस मामले में हम इन्हें ऐसे वैरिएबल की तरह उपयोग करेंगे जो एक से अधिक मान रखते हैं। वेक्टर को जोड़ना ओपरेटर ओवरलोडिंग का उपयोग करके किया जाता है जो क्लास ऑब्जेक्ट्स की कार्यक्षमता का विस्तार करता है ताकि आप इन्हें सामान्य मानों की तरह ऑपरेटर के साथ उपयोग कर सकें।
शुरू करने के लिए, कमरे के ऊपर स्थित धातु के जल डिब्बों को इकट्ठा करें, इनका उपयोग बैरल में फ़िल्टर की जा रही शराब को फ्लश करने में मदद करने के लिए किया जाएगा। एक बार इकट्ठा करने के बाद, लाल कारपेट पर स्थित अंधेरे X निशान के पास जाएँ, बैरल की ओर मुड़ें और प्रत्येक बैरल की सामग्री का वेक्टराइज़ करना शुरू करें।
हर रंगीन कारपेट के लिए X निशान तीन (3) के सेट में व्यवस्थित होते हैं, एक सोने का X निशान, एक हल्का X निशान और एक अंधेरा X निशान। सभी अंधेरे और हल्के X निशानों पर बैरल्स को फ्लश करने में मदद करने के लिए water() फ़ंक्शन का उपयोग करें। साथ ही सभी अंधेरे और हल्के X निशानों पर, उस बैरल कॉलम में कितनी शराब की प्रक्रिया की जा रही है, इसे पहचानने के लिए read() फ़ंक्शन का उपयोग करें। सोने के X निशान पर आप संयुक्त रूप से राशियों के योग को नोट करने के लिए write() फ़ंक्शन का उपयोग करते हैं।
कोड संपादक में vector नाम की एक क्लास है, जिसका उपयोग न केवल एक वेक्टर बनाने के लिए बल्कि उसे जोड़ने के लिए भी किया जाता है। हल्के और अंधेरे X निशानों पर पहचाने गए डेटा को स्टोर करने के लिए vector ऑब्जेक्ट्स बनाएं, उदाहरण के लिए, red कारपेट पर लाल शराब फ़िल्टर की जा रही है:
# Create object using data from dark X mark red_wine_dark = vector(345, 272) # Create object using data from light X mark red_wine_light = vector(248, 432) # Add together vectors for totals red_wine_total = red_wine_dark + red_wine_light
एक वेक्टर में, पहली स्थिति को x कहा जाता है और दूसरी स्थिति को y कहा जाता है, सूत्र इस प्रकार है: object_name = vector(x,y) । यह read() फ़ंक्शन से प्राप्त जानकारी के साथ वेक्टरों को भरने के लिए महत्वपूर्ण है।
सोने के X निशानों पर प्रत्येक सेट के वेक्टरों का कुल लिखने के लिए write() फ़ंक्शन का उपयोग करें, उदाहरण के लिए, लाल कारपेट वाले X निशानों के मामले में इसे इस तरह लिखा जाता है:
await player.write( "There is a total of %s pounds on the left barrels and %s pounds on the right barrels" % (red_wine_total.x, red_wine_total.y)
प्रत्येक वेक्टर के मानों की पहचान करने के लिए कुल के अंत में .x और .y जोड़ना याद रखें।
प्रत्येक रंगीन कारपेट के सेट पर एक अलग प्रकार की शराब फ़िल्टर की जा रही है। उपरोक्त red कारपेट पर, red_wine फ़िल्टर की जाती है; yellow कारपेट पर, sparkling_wine फ़िल्टर की जाती है; green कारपेट पर, white_wine फ़िल्टर की जाती है; और orange कारपेट पर, orange_wine फ़िल्टर की जा रही है।
एक बार जब सभी हल्के और अंधेरे X निशान water() फ़ंक्शन से फ्लश कर दिए जाते हैं और सोने के X निशानों पर सभी कुल चिह्नित कर दिए जाते हैं, तब आपने स्तर पूरा कर लिया होगा।