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

उन्नत सूचियाँ
मानचित्रण, छानना, संक्षेपण

उद्देश्य

Maps, Filter और Reduce का उपयोग करके आइसक्रीम को मिलाने और बनाने का कार्य पूरा करें।

कुछ आइसक्रीम फ्लेवर कम या खाली हैं लेकिन हमारे पास पर्याप्त सामग्री है जिससे हम आइसक्रीम बना सकते हैं। इसे करने के लिए आपको Map का उपयोग करना होगा, एक शक्तिशाली उपकरण जो आपको लूप्स और शाखाई कोड को संक्षिप्त करके लिखने वाले कोड की मात्रा को कम करने में मदद करता है। Filter और Reduce फंक्शन्स, Map फंक्शन के पूरक हैं और आपके कोडिंग में आवश्यक बहुमुखी प्रतिभा प्रदान करते हैं।

शुरुआत करने के लिए, आपको अपने प्रोग्राम की शुरुआत में यह कोड जोड़कर functools लाइब्रेरी से Reduce को इम्पोर्ट करना होगा: from functools import reduce . Map और Filter फंक्शन्स Python में इनबिल्ट हैं और इन्हें इम्पोर्ट करने की आवश्यकता नहीं है।

सबसे पहले आपको वॉक-इन फ्रीज़र से कुछ सामग्री लेनी होगी, गोल्ड X मार्क की ओर चलें, दरवाजे की ओर मुड़ें और open() फंक्शन का उपयोग करके इसे खोलें। फ्रीज़र में "cream" के सभी जार लें और फिर हरे कालीन पर स्थित लाइट X मार्क की ओर बढ़ें।

फील्ड में तीन (3) लिस्ट कॉन्स्टेंट्स हैं जिनके नाम हैं: vanilla, strawberry और chocolate। प्रत्येक कॉन्स्टेंट में ऐसे सामग्रियों का संयोजन होता है जो आइसक्रीम के फ्लेवर का निर्माण करता है। हरे X मार्क पर strawberry लिस्ट कॉन्स्टेंट की सामग्री की पुष्टि करें। पहले place() फंक्शन का उपयोग करके पहले से ली हुई "cream" को जमा करें और फिर speak() फंक्शन का उपयोग करके strawberry लिस्ट कॉन्स्टेंट की सामग्री का सत्यापन करें।

यदि पुष्टि हो जाए तो अब strawberry लिस्ट कॉन्स्टेंट के साथ Map फंक्शन का उपयोग करने का समय है, क्योंकि सूची की सभी सामग्री दशमलव संख्याएँ हैं। map() फंक्शन का उपयोग करके, आप एक सूची के सभी तत्वों को राउंड कर सकते हैं, जिससे प्रत्येक तत्व को लूप में इटरेट करने की आवश्यकता नहीं पड़ती। ऐसा करने के लिए, map1 नाम की एक सूची बनाएँ और strawberry लिस्ट तथा round() फंक्शन के साथ map() फंक्शन का उपयोग करें, इस प्रकार: map1 = list(map(round, strawberry)) . एक बार होने पर परिणाम की पुष्टि के लिए speak() फंक्शन का उपयोग करें।

इसके बाद हम Filter पर जाते हैं, जो Map की तरह काम करता है लेकिन इसके साथ एक फ़ंक्शन के उपयोग की आवश्यकता होती है। एडिटर के शीर्ष पर आपको main_ingredients नाम का एक प्रीसेट फ़ंक्शन मिलेगा, जो यह निर्धारित करने के लिए उपयोग किया जाता है कि कोई संख्या 25 से अधिक है या नहीं।

def main_ingredients(value): return value > 25

लूप के माध्यम से जाने के बजाय, आप इस फ़ंक्शन का उपयोग filter() फंक्शन के साथ करके उन वस्तुओं की नई सूची बना सकते हैं जो 25 से अधिक हैं, जो मुख्य सामग्री हैं। filter1 नाम की एक नई सूची बनाएं और main_ingredients तथा map1 के साथ filter() फंक्शन लागू करें, इस प्रकार: filter1 = list(filter(main_ingredients, value)) . एक बार होने पर speak() फंक्शन का उपयोग करके परिणाम की पुष्टि करें।

अब हम Reduce की ओर बढ़ते हैं, जिसका उपयोग Filter की तरह किया जाता है, लेकिन इसे सूची को एक एकल इकाई में संक्षेप करने या घटाने के लिए किया जाता है। Filter की तरह, यह एक कस्टम फ़ंक्शन का उपयोग करता है, इस बार custom_sum नाम का, जो दो संख्याओं को गतिशील रूप से जोड़ता है।

def custom_sum(first, second): return first + second

reduce1 नाम का एक वेरिएबल बनाएं और custom_sum फ़ंक्शन तथा filter1 के साथ reduce() फंक्शन का उपयोग करें ताकि सभी वस्तुओं को एक एकल इकाई में समेकित किया जा सके, इस प्रकार: reduce1 = reduce(custom_sum, filter1) . एक बार होने पर परिणाम की पुष्टि के लिए speak() फ़ंक्शन का उपयोग करें।

अब जब आपने Map, Filter, Reduce चक्र पूरा कर लिया है, तो लाल और नीले कालीन पर स्थित लाइट X मार्क्स पर उसी चक्र को दोहराएं। लाल कालीन पर, vanilla लिस्ट कॉन्स्टेंट का उपयोग करें, और map2, filter2 तथा reduce2 बनाएं। नीले कालीन पर, chocolate लिस्ट कॉन्स्टेंट का उपयोग करें, और map3, filter3 तथा reduce3 बनाएं।

अंतिम लाइट X मार्क पर चलें जो पर्पल कालीन पर स्थित है, और reduce1, reduce2 तथा reduce3 को जोड़ें, जिससे vanilla, strawberry और chocolate की मुख्य सामग्री एकत्र हों। neapolitan नाम का एक वेरिएबल बनाएं और सभी Reduce परिणामों को जोड़ें, इस प्रकार: neapolitan = reduce1+reduce2+reduce3 . इस संयोजन की पुष्टि के लिए speak() फंक्शन का उपयोग करें और Neapolitan आइसक्रीम बनाने और स्तर को पूरा करने के लिए place() फंक्शन का उपयोग करें।

कोड बुक