ट्रैक
/
Python
Python
/
अभ्यास
/
पूर्ण संख्याएँ
पूर्ण संख्याएँ

पूर्ण संख्याएँ

आसान

निर्देश

निकोमैकस (60 - 120 ईस्वी) ने धनात्मक पूर्णांकों के लिए जो वर्गीकरण प्रणाली बनाई थी, उसके आधार पर निर्धारित कीजिए कि कोई संख्या पूर्ण है, अधिक है या न्यून।

यूनानी गणितज्ञ निकोमैकस ने धनात्मक पूर्णांकों के लिए एक वर्गीकरण प्रणाली बनाई, जिसमें हर संख्या अपने एलिक्वॉट योग के आधार पर पूर्ण, अधिक या न्यून इन तीन श्रेणियों में से ठीक एक में आती है। एलिक्वॉट योग किसी संख्या के सभी गुणनखंडों का जोड़ है, लेकिन इसमें वह संख्या खुद शामिल नहीं होती। उदाहरण के लिए, 15 का एलिक्वॉट योग 1 + 3 + 5 = 9 है।

पूर्ण

कोई संख्या तब पूर्ण होती है जब वह अपने एलिक्वॉट योग के बराबर होती है। उदाहरण के लिए:

  • 6 एक पूर्ण संख्या है क्योंकि 1 + 2 + 3 = 6
  • 28 एक पूर्ण संख्या है क्योंकि 1 + 2 + 4 + 7 + 14 = 28

अधिक

कोई संख्या तब अधिक होती है जब वह अपने एलिक्वॉट योग से कम होती है। उदाहरण के लिए:

  • 12 एक अधिक संख्या है क्योंकि 1 + 2 + 3 + 4 + 6 = 16
  • 24 एक अधिक संख्या है क्योंकि 1 + 2 + 3 + 4 + 6 + 8 + 12 = 36

न्यून

कोई संख्या तब न्यून होती है जब वह अपने एलिक्वॉट योग से अधिक होती है। उदाहरण के लिए:

  • 8 एक न्यून संख्या है क्योंकि 1 + 2 + 4 = 7
  • अभाज्य संख्याएँ न्यून होती हैं

कार्य

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

एक्सेप्शन संदेश

कभी-कभी एक्सेप्शन उठाना ज़रूरी हो जाता है। ऐसा करते समय आपको हमेशा एक अर्थपूर्ण एरर संदेश देना चाहिए, ताकि पता चले कि एरर का स्रोत क्या है। इससे आपका कोड पढ़ने में आसान रहता है और डीबग करने में बहुत मदद मिलती है। जहाँ आपको पता हो कि एरर का स्रोत एक तय प्रकार का ही होगा, वहाँ आप पहले से मौजूद एरर प्रकारों में से कोई एक उठाना चुन सकते हैं, लेकिन तब भी संदेश अर्थपूर्ण होना चाहिए।

इस अभ्यास में आपको raise स्टेटमेंट का उपयोग करके एक ValueError "फेंकना" है, अगर classify() फंक्शन को ऐसी संख्या दी जाए जो धनात्मक पूर्णांक न हो। टेस्ट तभी पास होंगे जब आप exception को raise करेंगे और उसके साथ एक संदेश भी देंगे।

एक संदेश के साथ ValueError उठाने के लिए, संदेश को exception टाइप के आर्गुमेंट के रूप में लिखिए:

# if a number to be classified is less than 1.
raise ValueError("Classification is only possible for positive integers.")
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Python Exercism

पूर्ण संख्याएँ शुरू करने के लिए तैयार हैं?

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