Coding for KidsCoding for Kids
रचनात्मक स्तरचुनौतियांशिक्षक गाइड
सुविधाओं के लिए वोट करें
उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर

गणित मॉड्यूल्स
रैंडम मॉड्यूल

उद्देश्य

किसानी निर्माण के दौरान किसी भी त्रुटि और बाधाओं के लिए तैयारी हेतु सिमुलेशन और परीक्षण चलाएं, इसके लिए random module का उपयोग करें।

एनक्स को पार करते हुए एक कार्यालय है जो निर्माण के लिए शिपिंग, हाउसिंग और लॉजिस्टिक्स से संबंधित कागजी कार्रवाई सहित कुछ प्रशासनिक कार्यों को संभालता है। उपलब्ध डेटा का उपयोग करके कुछ परिदृश्यों को चलाना एक अच्छा विचार होगा ताकि setback और उपकरण विफलताओं की गणना की जा सके। इसके लिए हमें सहायता करने हेतु random module उपलब्ध है, जिसे import random द्वारा सक्रिय किया जाता है।

यह मॉड्यूल विभिन्न डिग्री में रैंडम आउटपुट उत्पन्न करने के लिए उपयोग किया जाता है, जिससे आप सिमुलेशन चला सकें या अपनी गणनाओं/व्यायामों में यादृच्छिक तत्व जोड़ सकें। हमारे उद्देश्यों के लिए हम निम्नलिखित फ़ंक्शंस का उपयोग करेंगे:

  • random.seed(): रैंडम जनरेशन के लिए बीज सेट करता है, और एक तर्क लेता है जो आप उपयोग करना चाहते हैं। इसका अर्थ है कि किसी भी दिए गए बीज के साथ उपयोग किए गए किसी भी रैंडम फ़ंक्शन से हमेशा समान परिणाम प्राप्त होंगे। इसका उपयोग रैंडम जनरेशन पर कुछ नियंत्रण रखने और निश्चित परिणामों को पुनः उत्पन्न करने में किया जाता है।
  • random.random(): 0 और 1 के बीच एक यादृच्छिक फ्लोट मान लौटाता है।
  • random.randint(): दो (2) तर्क लेता है, दोनों के बीच एक संख्या उत्पन्न करता है, जिसमें वे संख्याएँ स्वयं शामिल हैं। परिणाम पूर्णांक (integer) के रूप में लौटाया जाता है।
  • random.uniform(): पिछले फ़ंक्शन के समान है, लेकिन पूर्णांक के बजाय एक यादृच्छिक फ्लोट मान लौटाता है।
  • random.triangular(): पिछले फ़ंक्शन के समान है लेकिन इसमें एक अतिरिक्त तर्क होता है जिसे मोड कहा जाता है। मोड को रैंडम रेंज में दी गई दो संख्याओं के बीच एक संख्या होना चाहिए। उत्पन्न यादृच्छिक संख्या, पहले दो तर्कों के बीच पूरी तरह से यादृच्छिक संख्या की बजाय सांख्यिकीय रूप से मोड के निकट होगी।
  • random.choice(): एक सूची को तर्क के रूप में लेता है, और सूची से यादृच्छिक रूप से एक (1) आइटम चुनता है।
  • random.choices(): किसी अन्य सूची से सैम्पल लिया गया रैंडम सूची उत्पन्न करता है, जो तीन (3) तर्क लेता है: एक सूची जिससे आप सैम्पल लेना चाहते हैं, दूसरी सूची जिसमें आप यह निर्दिष्ट कर सकते हैं कि सूची के प्रत्येक आइटम से कितना भार लेना है, और अंत में एक चर नाम k जिसे आप यह निर्दिष्ट कर सकते हैं कि आपको सूची से कितने सैम्पल लेने हैं। सैम्पल की संख्या सूची से अधिक भी हो सकती है क्योंकि यह निर्दिष्ट भार के आधार पर डुप्लिकेट उत्पन्न करेगा।
  • random.shuffle(): एक सूची को तर्क के रूप में लेता है और उसे यादृच्छिक रूप से शफल करता है।
  • random.sample(): दो तर्क लेता है, सैम्पल लेने के लिए एक सूची और आप कितने सैम्पल लेना चाहते हैं। यह random.choices() का एक सरल संस्करण है।

शुरू करने के लिए, लाइट X मार्क की ओर जाएं और डेस्क के सामने खड़े हों, read() फ़ंक्शन का उपयोग करके मेमो पढ़ें और उन डेटा पॉइंट्स की पहचान करें जिनकी आवश्यकता एक सिमुलेशन चलाने के लिए कुछ यादृच्छिक भिन्नता (random variance) के साथ होती है। हम उपकरण विफलता का एक सिमुलेशन चलाने जा रहे हैं, मेमो आपको यह बताएगा कि रैंडम जनरेशन के लिए किस seed को चलाना है और साथ ही वह सूची जिससे सैम्पल लिया जा रहा है। random.seed() फ़ंक्शन का उपयोग करें और मेमो में प्रदान किया गया मान डालें।

नीले कालीन पर स्थित डार्क X मार्क की ओर जाएं और डेस्क के सामने खड़े हों, हमारे पास sectors नाम की एक सूची स्थिरांक है जिसमें पिछले मेमो में उल्लिखित farmland के क्षेत्र शामिल हैं। random.choice() का मान संग्रह करने के लिए selection नाम का एक वेरिएबल बनाएं, sectors सूची स्थिरांकों का उपयोग करके सूची से एक सैम्पल प्राप्त करें, इस प्रकार: selection = random.choice(sectors) . एक और वेरिएबल delay बनाएं और उसमें random.random() का मान संग्रह करें ताकि विलंबों से उत्पन्न त्रुटियों के मार्जिन का सिमुलेशन किया जा सके।

एक और वेरिएबल defect बनाएं और उसमें random.randint() का मान संग्रह करें ताकि संभावित उपकरण विफलता का प्रतिशत उत्पन्न किया जा सके। तर्क के रूप में 0 और 15 जोड़ें ताकि इन दोनों संख्याओं के बीच का प्रतिशत उत्पन्न हो सके। एक बार जब selection, delay और defect वेरिएबल सेट हो जाएं, तो पूर्व-लिखित write() फ़ंक्शन का उपयोग इन तीन (3) वेरिएबलों के क्रम में करें, ताकि डेटा पॉइंट्स को चार्ट किया जा सके जिन्हें निर्माण में संभावित समस्याओं का परीक्षण करने के लिए प्रयोग किया जा सके।

गोल्ड X मार्क की ओर जाएं और read() फ़ंक्शन का उपयोग करें ताकि प्रक्षेपण चलाना जारी रखा जा सके; मेमो में दिए गए डेटा में सामग्री, मात्राएँ और सैम्पलिंग डेटा शामिल होंगे। हम मेमो में दिए गए डेटा का उपयोग करके एक बड़ा सिमुलेशन चलाने जा रहे हैं, जिसमें materials नाम की एक सूची स्थिरांक शामिल है जो मेमो में उल्लिखित सामग्री प्रकारों को संग्रहित करती है।

रेड कालीन पर स्थित डार्क X मार्क की ओर जाएं और डेस्क के सामने खड़े हों। weights नाम की एक सूची बनाएं और मेमो में प्रस्तुत क्रमानुसार सामग्री से संबंधित चार (4) संख्यात्मक मान संग्रहित करें। उदाहरण के लिए: weights = [400, 600 , -insert value-, -insert value-]

एक वेरिएबल simulation बनाएं और उसमें random.choices() का मान संग्रहित करें, जिसमें materials सूची स्थिरांक, आपके द्वारा बनाई गई weights सूची और k नाम की उस सूची को जोड़ें जिसमें मेमो में उल्लिखित सैम्पलिंग यूनिट्स हैं, इस प्रकार: simulation = random.choices(materials, weights , k = insert sampling units ) . पूर्व-लिखित write() फ़ंक्शन के साथ simulation वेरिएबल का उपयोग करें ताकि डेटा को चार्ट किया जा सके।

ग्रीन कालीन पर स्थित डार्क X मार्क की ओर जाएं और डेस्क के सामने खड़े हों, random.shuffle() फ़ंक्शन का उपयोग करें जिसमें आपने बनाई हुई simulation सूची का उपयोग करके उसे शफल करें, इस प्रकार: random.shuffle(simulation) . यह सूची को शफल कर देगा, क्योंकि यह सीधे सूची में संशोधन करता है, इसलिए मान संग्रहित करने की आवश्यकता नहीं है। sample नाम की एक सूची बनाएं और उसमें random.sample() का मान संग्रहित करें; पहले तर्क के रूप में simulation सूची और दूसरे तर्क के रूप में 3 का सैम्पल लें, इस प्रकार: sample = random.sample(simulation, k=3) . पूर्व-लिखित write() फ़ंक्शन के साथ simulation और sample का उपयोग करें ताकि नए सैम्पल को चार्ट किया जा सके।

अंत में, पर्पल कालीन पर स्थित डार्क X मार्क की ओर जाएं और डेस्क के सामने खड़े हों, एक वेरिएबल defect बनाएं और उसमें random.uniform() का परिणाम संग्रहित करें; तर्क के रूप में 3 और 10 जोड़ें। ये मूल सिमुलेशन और उससे लिए गए सैम्पलिंग मान हैं, जिन्हें हम संभावित उपकरण दोष मार्जिन उत्पन्न करने के लिए उपयोग करेंगे।

एक वेरिएबल losses बनाएं और उसमें random.triangular() का मान संग्रहित करें, तर्क के रूप में 200, 600 और 400 जोड़ें। ये पिछले मेमो में उल्लिखित सामग्री संख्याएँ हैं, विशेष रूप से सबसे कम, सबसे अधिक और मध्य के निकट मान। इससे हमें सिमुलेशन में उपयोग की गई सामग्रियों की संख्या के आधार पर एक त्रिभुजाकार यादृच्छिक मान प्राप्त करने में सहायता मिलती है। पूर्व-लिखित write() फ़ंक्शन के साथ defect और losses मान का उपयोग करें ताकि परिणाम प्राप्त किए जा सकें और स्तर पूरा हो सके।

कोड बुक