ट्रैक
/
Go
Go
/
अभ्यास
/
पक्षी दर्शक
पक्षी दर्शक

पक्षी दर्शक

सीखने का अभ्यास

परिचय

सामान्य सिंटैक्स

किसी लॉजिक को बार-बार चलाने के लिए for लूप सबसे आम स्टेटमेंट में से एक है। Go में इसमें for कीवर्ड, एक हेडर और एक कोड ब्लॉक होता है, जिसके अंदर लूप का कोड घुंघराले ब्रैकेट में लिपटा रहता है। हेडर में तीन हिस्से होते हैं, जिन्हें सेमीकोलन ; से अलग किया जाता है: init, condition और post.

for init; condition; post {
  // loop body - code that is executed repeatedly as long as the condition is true
}
  • init हिस्सा वह कोड है जो लूप शुरू होने से पहले सिर्फ एक बार चलता है।
  • condition हिस्सा एक ऐसा एक्सप्रेशन होना चाहिए जो बूलियन वैल्यू देता है और तय करता है कि लूप कब रुकना चाहिए। लूप के अंदर का कोड तब तक चलता रहेगा जब तक यह शर्त सही रहती है। जैसे ही यह एक्सप्रेशन गलत होता है, लूप का कोई और इटरेशन नहीं चलेगा।
  • post हिस्सा वह कोड है जो हर इटरेशन के अंत में चलता है।

ध्यान दें: दूसरी भाषाओं के उलट, हेडर के तीनों हिस्सों के चारों ओर कोई गोल ब्रैकेट () नहीं होते। वास्तव में ऐसा ब्रैकेट लगाना कंपाइलेशन एरर देता है। लेकिन लूप के अंदर के कोड के चारों ओर घुंघराले ब्रैकेट { } हमेशा ज़रूरी होते हैं।

for लूप - एक उदाहरण

init हिस्सा आम तौर पर एक काउंटर वेरिएबल तैयार करता है, condition हिस्सा जाँचता है कि लूप जारी रहना चाहिए या रुकना चाहिए, और post हिस्सा आम तौर पर हर इटरेशन के अंत में काउंटर बढ़ा देता है।

for i := 1; i < 10; i++ {
  fmt.Println(i)
}

यह लूप 1 से 9 तक की संख्याएँ प्रिंट करेगा (9 समेत)। स्टेप तय करना अक्सर बढ़ाने या घटाने वाले स्टेटमेंट से किया जाता है, जैसा ऊपर के उदाहरण में दिखाया गया है।

निर्देश

आप एक उत्साही पक्षी-निरीक्षक हैं जो यह ध्यान रखते हैं कि आपके बगीचे में कितने पक्षी आए हैं। आम तौर पर आप पक्षियों को गिनने के लिए नोटबुक में गिनती लिखते हैं, लेकिन अपने डेटा के साथ बेहतर काम करने के लिए आपने पिछले कुछ सप्ताहों की पक्षी-गिनती को डिजिटल रूप में दर्ज कर लिया है।

1. अब तक गिने गए पक्षियों की कुल संख्या निकालिए

चलिए, डेटा का विश्लेषण शुरू करते हैं और पहले उसे ऊपर से देखते हैं। पता कीजिए कि जब से आपने अपने लॉग रखना शुरू किया, तब से आपने कुल कितने पक्षी गिने।

ऐसा फंक्शन TotalBirdCount बनाइए जो int मानों का एक स्लाइस लेता है, जिसमें प्रति दिन की पक्षी-गिनती दी गई हो। इसे आपके द्वारा गिने गए कुल पक्षियों की संख्या लौटानी चाहिए।

birdsPerDay := []int{2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1}
TotalBirdCount(birdsPerDay)
// => 34

2. किसी विशेष सप्ताह में आने वाले पक्षियों की संख्या निकालिए

अब जब आपको अपनी पक्षी-गिनती की संख्याओं की सामान्य समझ हो गई है, तो आप और बारीक विश्लेषण करना चाहते हैं।

ऐसा फंक्शन BirdsInWeek बनाइए जो प्रति दिन की पक्षी-गिनती का स्लाइस और सप्ताह का क्रमांक लेता है।

यह उस विशेष सप्ताह में आपके द्वारा गिने गए कुल पक्षियों की संख्या लौटाता है। आप मान सकते हैं कि सप्ताह हमेशा पूरी तरह दर्ज होते हैं।

birdsPerDay := []int{2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1}
BirdsInWeek(birdsPerDay, 2)
// => 12

3. गिनती की एक गलती ठीक कीजिए

आपको समझ आया कि जब आप पक्षियों की गिनती का रिकॉर्ड रखने की कोशिश कर रहे थे, तब एक पक्षी बगीचे के एक दूर के कोने में छिपा हुआ था।

आपने पता लगाया कि यह पक्षी हमेशा हर दूसरे दिन आपके बगीचे में रहता था।

आपको ठीक से पता नहीं है कि वह उन दिनों के बीच कहाँ रहता था, लेकिन यह निश्चित है कि आपके बगीचे में नहीं रहता था।

आपकी पक्षी-निरीक्षक सहज समझ यह भी बताती है कि जिस पहले दिन को आपने अपनी सूची में दर्ज किया, उस दिन वह पक्षी आपके बगीचे में था।

इस नई जानकारी के आधार पर, एक ऐसा फंक्शन FixBirdCountLog लिखिए जो प्रति दिन गिने गए पक्षियों का स्लाइस आर्गुमेंट के रूप में लेता है और गिनती की गलती सुधारने के बाद वह स्लाइस लौटाता है।

birdsPerDay := []int{2, 5, 0, 7, 4, 1}
FixBirdCountLog(birdsPerDay)
// => [3 5 1 7 5 1]
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Go Exercism

पक्षी दर्शक शुरू करने के लिए तैयार हैं?

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