Coding for KidsCoding for Kids
रचनात्मक स्तरचुनौतियांशिक्षक गाइड
सुविधाओं के लिए वोट करें
उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर

जनरेटर्स
जेनरेटर बनाना

कभी-कभी आप एक समय के आउटपुट के बजाय लगातार मान उत्पन्न करना चाह सकते हैं। जिस तरह से फ़ंक्शन्स काम करते हैं, उसी तरह से जेनेरेटर्स लिखे और निष्पादित किये जाते हैं, सिवाय इसके कि वे आउटपुट उत्पन्न करते समय return() की बजाय yield() का उपयोग करते हैं।

इस अभ्यास में आपको स्थिर में टैंकों से दूध भरकर बोतलों को भरना है। बोतलों को भरने के लिए एक जेनेरेटर का उपयोग करें और सुनिश्चित करें कि किसी भी अतिशेष दूध को टैंकों से एकत्र किया जाए।

Guide

उद्देश्य

दूध के टैंकों को जनरेटर का उपयोग करके भरकर बोतलों में भरें।

गाय के दूध को स्टोर करने वाली मशीनें लगभग भर चुकी हैं, आपको दूध को बोतल में भरकर स्टोर करना होगा जिससे यह खराब न हो। यह सामान्य साधनों का उपयोग करके थोड़ा मुश्किल काम हो सकता है और आप कितनी मात्रा में दूध निकाल सकते हैं, यह थोड़ा बदल सकता है। सौभाग्य से आप जनरेटर का उपयोग करके इस प्रक्रिया को सहज और सरल बना सकते हैं।

दूध के साथ दो (2) टैंक हैं जिन्हें भरकर बोतल में भरने की आवश्यकता है। प्रत्येक मशीन में दूध रखने वाले कंपार्टमेंट होते हैं, जिन्हें सूची स्थिरांक के रूप में दर्शाया गया है: tank_a और tank_b। इसके अलावा, प्रत्येक टैंक में एक अधिशेष होता है जिसे आप एकत्र कर सकते हैं।

जनरेटर का सिंटैक्स फंक्शन के समान होता है लेकिन उनके आउटपुट के लिए return की बजाय yield का उपयोग करेंगे। एक जनरेटर सेट अप करें जिसका नाम fill() हो और इसे तर्क list के साथ सेट करें, यह वह जगह होगी जहां आप उपरोक्त अनुच्छेद में उल्लिखित स्थिरांक का इनपुट देंगे।

def fill(list): for x in range(3): yield list[x] yield 5

जनरेटर सूची स्थिरांक में तीन (3) क्षेत्रों से डेटा पढ़ता है, जो मशीन में कंपार्टमेंट द्वारा दर्शाए गए हैं, और अंत में एक अधिशेष जोड़ता है जो पांच (5) है।

फ़ील्ड में ऑब्जेक्ट को इकट्ठा करें जिससे भरने के लिए आवश्यक बोतलें हासिल की जा सकें और दिये गए दो (2) X निशानों पर जाकर दूध एकत्र करें एक for लूप का उपयोग करके।

yield कथन के कारण जनरेटर द्वारा उत्पन्न मान को सीधे for लूप से पढ़ा जा सकता है। एक सेट अप करें जो मशीन से "दूध" हासिल करने के लिए collect() फ़ंक्शन का उपयोग करता है। इसके बाद, यह जांचने के लिए speak() का उपयोग करें कि प्रत्येक बोतल में कितना दूध भरा गया है। उदाहरण के लिए:

for bottles in fill(tank_a): player.collect("milk") player.speak("%d पिंट दूध संग्रहित किया गया" % (bottles))

इस for लूप को दोनों X निशानों पर लिखें और उपयोग करें, हल्के X निशान पर तर्क tank_a का उपयोग करें और हल्के X निशान पर तर्क tank_b का उपयोग करें ताकि स्तर को पूरा किया जा सके।

कोड बुक