ट्रैक
/
Python
Python
/
अभ्यास
/
सबसे बड़ा श्रृंखला गुणनफल
सबसे बड़ा श्रृंखला गुणनफल

सबसे बड़ा श्रृंखला गुणनफल

मध्यम

परिचय

आप एक सरकारी एजेंसी के लिए काम करते हैं जिसने बैंक लुटेरों के एक समूह से एन्क्रिप्टेड संचार सिग्नलों की एक श्रृंखला पकड़ी है। इन सिग्नलों में अंकों की एक लंबी श्रृंखला है। आपकी टीम को डिजिटल सिग्नल प्रोसेसिंग की विभिन्न तकनीकों का इस्तेमाल करके इन सिग्नलों का विश्लेषण करना होगा। साथ ही, ऐसे पैटर्न पहचानने होंगे जो किसी डकैती की योजना का संकेत दे सकते हैं।

निर्देश

आपको एन्क्रिप्टेड सिग्नल में मौजूद अंकों के लंबे क्रम में पैटर्न ढूँढने हैं।

यहाँ आप जो तरीका इस्तेमाल करेंगे, उसे सबसे बड़ा सीरीज़ गुणनफल कहते हैं।

चलिए, सबसे पहले कुछ शब्दों का मतलब समझ लेते हैं।

  • इनपुट: अंकों का वह क्रम जिसका आपको विश्लेषण करना है
  • सीरीज़: इनपुट के भीतर मौजूद आस-पास के अंकों (यानी वे अंक जो एक-दूसरे के ठीक बगल में हों) का क्रम
  • स्पैन: हर सीरीज़ में कितने अंक होते हैं
  • गुणनफल: संख्याओं को आपस में गुणा करने पर जो मिलता है

चलिए, इनपुट "63915" के साथ एक उदाहरण देखते हैं।

  • सीरीज़ बनाने के लिए मूल इनपुट से आस-पास के अंक लीजिए।
  • अगर आप 3 के स्पैन के साथ काम कर रहे हैं, तो तीन संभावित सीरीज़ बनेंगी:
    • "639"
    • "391"
    • "915"
  • इसके बाद हमें हर सीरीज़ का गुणनफल निकालना होगा:
    • सीरीज़ "639" का गुणनफल 162 है (6 × 3 × 9 = 162)
    • सीरीज़ "391" का गुणनफल 27 है (3 × 9 × 1 = 27)
    • सीरीज़ "915" का गुणनफल 45 है (9 × 1 × 5 = 45)
  • 162, 27 और 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")
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Python Exercism

सबसे बड़ा श्रृंखला गुणनफल शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Python को 17 कॉन्सेप्ट146 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।