आप एक सरकारी एजेंसी के लिए काम करते हैं जिसने बैंक लुटेरों के एक समूह से एन्क्रिप्टेड संचार सिग्नलों की एक श्रृंखला पकड़ी है। इन सिग्नलों में अंकों की एक लंबी श्रृंखला है। आपकी टीम को डिजिटल सिग्नल प्रोसेसिंग की विभिन्न तकनीकों का इस्तेमाल करके इन सिग्नलों का विश्लेषण करना होगा। साथ ही, ऐसे पैटर्न पहचानने होंगे जो किसी डकैती की योजना का संकेत दे सकते हैं।
आपको एन्क्रिप्टेड सिग्नल में मौजूद अंकों के लंबे क्रम में पैटर्न ढूँढने हैं।
यहाँ आप जो तरीका इस्तेमाल करेंगे, उसे सबसे बड़ा सीरीज़ गुणनफल कहते हैं।
चलिए, सबसे पहले कुछ शब्दों का मतलब समझ लेते हैं।
चलिए, इनपुट "63915" के साथ एक उदाहरण देखते हैं।
3 के स्पैन के साथ काम कर रहे हैं, तो तीन संभावित सीरीज़ बनेंगी:
"639""391""915""639" का गुणनफल 162 है (6 × 3 × 9 = 162)"391" का गुणनफल 27 है (3 × 9 × 1 = 27)"915" का गुणनफल 45 है (9 × 1 × 5 = 45)"63915" का सबसे बड़ा सीरीज़ गुणनफल सीरीज़ "639" से मिलता है।
तो जवाब 162 है।कभी-कभी एक्सेप्शन उठाना ज़रूरी हो जाता है। ऐसा करते समय आपको हमेशा एक अर्थपूर्ण एरर संदेश शामिल करना चाहिए, जिससे पता चले कि एरर का स्रोत क्या है। इससे आपका कोड ज़्यादा पढ़ने योग्य बनता है और एरर ढूँढने तथा उन्हें ठीक करने में काफी मदद मिलती है। जिन स्थितियों में आपको पता हो कि एरर का स्रोत एक खास टाइप का है, उनमें आप पहले से मौजूद एरर टाइप में से कोई एक उठाना चुन सकते हैं, लेकिन तब भी एक अर्थपूर्ण संदेश ज़रूर शामिल कीजिए।
इस अभ्यास में ज़रूरी है कि जब आपके largest_product() फंक्शन को अमान्य इनपुट मिले, तो आप raise स्टेटमेंट की मदद से ValueError "फेंकें"। टेस्ट केवल तभी पास होंगे जब आप exception को raise भी करें और उसके साथ एक संदेश भी शामिल करें। series अभ्यास में लिखा अपना कोड बेझिझक दोबारा इस्तेमाल कीजिए!
संदेश के साथ ValueError उठाने के लिए, उस संदेश को exception टाइप के आर्गुमेंट के रूप में लिखिए:
# span of numbers is longer than number series
raise ValueError("span must not exceed string length")
# span of number is negative
raise ValueError("span must not be negative")
# series includes non-number input
raise ValueError("digits input must only contain digits")
Exercism पर साइन अप कीजिए और Python को 17 कॉन्सेप्ट146 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।