ट्रैक
/
Python
Python
/
अभ्यास
/
फूलों का खेत
फूलों का खेत

फूलों का खेत

मध्यम

परिचय

Flower Field लोकप्रिय गेम Minesweeper की एक दयालु पुनर्कल्पना है। खेल का उद्देश्य है बगीचे में सारे फूल ढूँढना, ऐसे संख्यात्मक संकेतों का उपयोग करके जो बताते हैं कि किसी वर्ग से सीधे सटे हुए (आड़ी, खड़ी या तिरछी दिशा में) कितने फूल हैं। Flower Field, Microsoft Windows के इटली, जर्मनी, दक्षिण कोरिया, जापान और ताइवान के क्षेत्रीय संस्करणों में शामिल था।

निर्देश

आपको एक तैयार फ्लावर फील्ड बगीचे के खाली खानों में फूलों की गिनती जोड़नी है। बगीचा खुद आयत (rectangle) के आकार का एक बोर्ड होता है, जो ऐसे खानों से बना है जो या तो खाली होते हैं (' ') या जिनमें एक फूल ('*') होता है।

हर खाली खाने के लिए गिनिए कि उसके आस-पास कितने फूल हैं (आड़ी दिशा, खड़ी दिशा या तिरछी दिशा में)। अगर उस खाली खाने के आस-पास कोई फूल नहीं है, तो उसे खाली ही रहने दीजिए। वरना उसे आस-पास के फूलों की गिनती से बदल दीजिए।

उदाहरण के लिए, आपको 5 x 4 का ऐसा बोर्ड मिल सकता है (यहाँ स्क्रीन पर दिखाने के लिए खाली जगहों को '·' अक्षर से दिखाया गया है):

·*·*·
··*··
··*··
·····

आपका कोड इसे इस तरह बदलेगा:

1*3*1
13*31
·2*2·
·111·

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

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

इस अभ्यास में आपको raise स्टेटमेंट का उपयोग करके ValueError को "फेंकना" होता है, तब जब board() फंक्शन को गलत फॉर्मैट का इनपुट मिलता है। टेस्ट तभी पास होंगे जब आपके कोड में raise भी हो और exception के साथ एक संदेश भी हो।

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

# when the board receives malformed input
raise ValueError("The board is invalid with current input.")
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Python Exercism

फूलों का खेत शुरू करने के लिए तैयार हैं?

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

फूलों का खेत को गहराई से जानिए!

हम नेस्टेड for लूप, बाउंड जाँच आसान बनाने के लिए min/max का चतुर उपयोग, फंक्शनल पाइपलाइन और द्वि-आयामी मैट्रिक्स देखेंगे।