ट्रैक
/
Python
Python
/
अभ्यास
/
बारिश की बूँदें
बारिश की बूँदें

बारिश की बूँदें

आसान

परिचय

Raindrops, FizzBuzz चैलेंज का थोड़ा अधिक जटिल रूप है, जो एक क्लासिक इंटरव्यू सवाल है।

निर्देश

आपको एक संख्या को उसके अनुरूप बारिश की बूँदों की आवाज़ों में बदलना है।

अगर दी गई संख्या:

  • 3 से विभाज्य है, तो परिणाम में "Pling" जोड़िए।
  • 5 से विभाज्य है, तो परिणाम में "Plang" जोड़िए।
  • 7 से विभाज्य है, तो परिणाम में "Plong" जोड़िए।
  • 3, 5 या 7 से विभाज्य नहीं है, तो परिणाम वही संख्या स्ट्रिंग के रूप में होना चाहिए।

उदाहरण

  • 28, 7 से विभाज्य है, लेकिन 3 या 5 से नहीं, इसलिए परिणाम "Plong" होगा।
  • 30, 3 और 5 से विभाज्य है, लेकिन 7 से नहीं, इसलिए परिणाम "PlingPlang" होगा।
  • 34, 3, 5 या 7 से विभाज्य नहीं है, इसलिए परिणाम "34" होगा।
Note

यह जाँचने का एक आम तरीका है कि एक संख्या दूसरी से पूरी तरह विभाज्य है या नहीं। इसके लिए शेषफल या मॉड्यूलस की शून्य से तुलना की जाती है। अधिकांश भाषाएँ इनमें से एक (या दोनों) के लिए ऑपरेटर या फंक्शन देती हैं।

Python में इस अभ्यास की संरचना

इस अभ्यास को हल करने का सबसे अच्छा तरीका Python के % (मॉड्यूलो) ऑपरेटर का इस्तेमाल है, जो धनात्मक पूर्णांकों के भाग से बचा शेष लौटाता है। इसका मेथड रूप ऑपरेटर मॉड्यूल में operator.mod() है।

Python मैथ मॉड्यूल में शेष निकालने के कुछ और मेथड भी देता है। math.fmod() % की तरह काम करता है, लेकिन यह दशमलव संख्याओं पर काम करता है। math.remainder() भाग देने पर शेष निकालने के लिए "शून्य के सबसे नज़दीक कदम" वाला एल्गोरिदम लागू करता है। हम चाहते हैं कि आप इन मेथड से परिचित हों, लेकिन इनमें से कोई भी % के परिणाम से बिल्कुल मेल नहीं खाता। इसलिए इस अभ्यास में इनका इस्तेमाल न कीजिए।

बिल्ट-इन फंक्शन divmod() भी दो धनात्मक पूर्णांकों के साथ इस्तेमाल करने पर % से मेल खाता शेष देता है, लेकिन यह एक tuple लौटाता है जिसे खोलना पड़ता है।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Python Exercism

बारिश की बूँदें शुरू करने के लिए तैयार हैं?

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

बारिश की बूँदें को गहराई से जानिए!

इसके कई हल देखिए: फंक्शनल पाइपलाइन, मैट्रिक्स गुणा, मैक्रो की मदद से पहले से बनी टेबल पर आधारित हल, ऑब्जेक्ट ओरिएंटेड तरीका, Python और TCL का कुछ शानदार इस्तेमाल, और एक एंटरप्राइज़ संस्करण।