ट्रैक
/
Go
Go
/
अभ्यास
/
जानवरों का जादू
जानवरों का जादू

जानवरों का जादू

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

परिचय

math/rand पैकेज छद्म-यादृच्छिक संख्याएँ बनाने की सुविधा देता है।

0 से 99 के बीच एक यादृच्छिक पूर्णांक बनाने का तरीका यह है:

n := rand.Intn(100) // n is a random int, 0 <= n < 100

फंक्शन rand.Float64 0.0 और 1.0 के बीच एक यादृच्छिक दशमलव संख्या लौटाता है:

f := rand.Float64() // f is a random float64, 0.0 <= f < 1.0

स्लाइस (या दूसरे डेटा स्ट्रक्चर) को शफल करने की सुविधा भी है:

x := []string{"a", "b", "c", "d", "e"}
// shuffling the slice put its elements into a random order
rand.Shuffle(len(x), func(i, j int) {
	x[i], x[j] = x[j], x[i]
})

सीड

math/rand पैकेज से बनी संख्या-श्रृंखलाएँ वास्तव में यादृच्छिक नहीं होतीं। किसी एक खास "सीड" वैल्यू के लिए परिणाम पूरी तरह निर्धारित होते हैं।

Go 1.20+ में सीड अपने आप यादृच्छिक तरीके से चुना जाता है, इसलिए हर बार प्रोग्राम चलाने पर आपको यादृच्छिक संख्याओं का अलग क्रम दिखेगा।

Go के पहले के वर्ज़न में सीड डिफ़ॉल्ट रूप से 1 था। इसलिए प्रोग्राम को अलग-अलग बार चलाने पर अलग क्रम पाने के लिए, कोई भी यादृच्छिक संख्या निकालने से पहले आपको यादृच्छिक संख्या जनरेटर को खुद से सीड करना पड़ता था, जैसे मौजूदा समय से।

rand.Seed(time.Now().UnixNano())

निर्देश

एलेन बच्चों के लिए एक नया गेम बना रही हैं, जिसमें जानवर और जादुई छड़ियाँ हैं। अब उन फंक्शन को लिखने का समय है जो पासा फेंकते हैं, छड़ी की रैंडम एनर्जी बनाते हैं और स्लाइस को शफल करते हैं।

1. पासा फेंकिए

एक RollADie फंक्शन बनाइए।

यह पारंपरिक बीस फलकों वाला पासा होगा, जिस पर 1 से 20 तक की संख्याएँ होती हैं।

d := RollADie() // d will be assigned a random int, 1 <= d <= 20

2. छड़ी की एनर्जी तैयार कीजिए

एक GenerateWandEnergy फंक्शन बनाइए। छड़ी की एनर्जी एक रैंडम दशमलव संख्या होनी चाहिए, जो 0.0 के बराबर या उससे अधिक हो और 12.0 से कम हो।

f := GenerateWandEnergy()  // f will be assigned a random float64, 0.0 <= f < 12.0

3. स्लाइस को शफल कीजिए

गेम में आठ अलग-अलग जानवर हैं:

  • ant
  • beaver
  • cat
  • dog
  • elephant
  • fox
  • giraffe
  • hedgehog

एक ShuffleAnimals फंक्शन लिखिए, जो इन आठ जानवरों वाली एक स्लाइस रैंडम क्रम में लौटाता है।

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

जानवरों का जादू शुरू करने के लिए तैयार हैं?

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