कई कंप्यूटर अनुप्रयोगों को उत्पन्न करने के लिए यादृच्छिक संख्या की आवश्यकता होती है। हालांकि, उनमें से कोई भी वास्तव में यादृच्छिक संख्या उत्पन्न नहीं करता है। पायथन, किसी भी अन्य प्रोग्रामिंग तकनीक की तरह, एक छद्म यादृच्छिक जनरेटर का उपयोग करता है। पायथन की यादृच्छिक पीढ़ी मेर्सन ट्विस्टर एल्गोरिथ्म पर आधारित है जो 53-बिट सटीक फ़्लोट्स का उत्पादन करती है। तकनीक तेज़ और थ्रेड-सुरक्षित है लेकिन क्रिप्टोग्राफ़िक उद्देश्य से उपयुक्त नहीं है।
पायथन के मानक पुस्तकालय में यादृच्छिक मॉड्यूल होता है जो यादृच्छिकरण को संभालने के लिए विभिन्न कार्यों को परिभाषित करता है।
random.seed() - यह फ़ंक्शन रैंडम नंबर जनरेटर को इनिशियलाइज़ करता है। जब रैंडम मॉड्यूल आयात किया जाता है, तो सिस्टम समय की मदद से जनरेटर को इनिशियलाइज़ किया जाता है। जनरेटर को फिर से शुरू करने के लिए, किसी भी int, str, byte या bytearray ऑब्जेक्ट का उपयोग करें।
random.getstate() - यह फ़ंक्शन सेटस्टेट () फ़ंक्शन के साथ एक ही यादृच्छिक डेटा को बार-बार पुन:उत्पन्न करने में मदद करता है। गेटस्टेट () फ़ंक्शन यादृच्छिक संख्या जनरेटर की आंतरिक स्थिति देता है।
random.setstate() - यह फ़ंक्शन जनरेटर की आंतरिक स्थिति को पुनर्स्थापित करता है।
निम्नलिखित कार्य यादृच्छिक पूर्णांक संख्या पीढ़ी को संभालते हैं -
random.ranrange() - यह फ़ंक्शन दी गई सीमा के बीच एक यादृच्छिक पूर्णांक उत्पन्न करता है। यह तीन पैरामीटर ले सकता है।
random.randrange(start, stop, step)
प्रारंभ और चरण पैरामीटर वैकल्पिक हैं। उनके डिफ़ॉल्ट मान क्रमशः 0 और 1 हैं। चरण क्रमिक संख्याओं के बीच अंतराल निर्धारित करता है।
>>> random.randrange(10) 5 >>> random.randrange(10, 20) 17 >>> random.randrange(100, 200, 2) 188
(ध्यान दें:याद रखें कि उपरोक्त कथनों का आउटपुट, और इस आलेख के बाकी कथन भी समान नहीं हो सकते हैं क्योंकि वे यादृच्छिक रूप से उत्पन्न होते हैं)
random.randint() - यह फ़ंक्शन दो मापदंडों के बीच एक यादृच्छिक पूर्णांक उत्पन्न करता है। यह स्टेप पैरामीटर के बिना रैंडरेंज () फ़ंक्शन के समान है। प्रारंभ पैरामीटर अनिवार्य है।
>>> random.randint(1,10) 6 >>> random.randint(100, 200) 134
निम्नलिखित फ़ंक्शन फ़्लोटिंग पॉइंट यादृच्छिक संख्याओं से निपटते हैं।
random.random() - यह फ़ंक्शन बेतरतीब ढंग से 0.0 और 1.0 के बीच एक फ्लोटिंग पॉइंट नंबर उत्पन्न करता है
>>> random.random() 0.668544544081956
random.uniform() - यह फ़ंक्शन दो मापदंडों के बीच एक अस्थायी बिंदु यादृच्छिक संख्या देता है।
>>> random.uniform(0.5,1.5) 1.2760281470664903 >>> random.uniform(1,10) 7.336985794193224 >>> random.uniform(10,5) 7.817794757786727
निम्नलिखित कार्य अनुक्रम वस्तुओं पर कार्य करते हैं जैसे। स्ट्रिंग, सूची या टपल।
random.choice() - यह फ़ंक्शन अनुक्रम से एक यादृच्छिक तत्व चुनता है। यदि अनुक्रम खाली है, तो IndexError फेंक दिया जाता है।
>>> random.choice("Tutorialspoint") 'o' >>> random.choice(range(10)) 2 >>> random.choice([15,31,6,29,55, 5]) 55 >>> random.choice((15,31,6,29,25, 55)) 15
random.choices() - यह फ़ंक्शन एक सूची से कई तत्वों को यादृच्छिक तरीके से चुनता है। इस फ़ंक्शन का पहला पैरामीटर अनुक्रम है और दूसरा पैरामीटर किए जाने वाले विकल्पों की संख्या है।
>>> name = "TutorialsPoint" >>> random.choices(name, k = 2) ['T', 'o']
random.shuffle() - यह फ़ंक्शन तत्वों को एक परिवर्तनशील अनुक्रम में पुन:व्यवस्थित करता है और उन्हें बेतरतीब ढंग से रखता है।
>>> num = [10,20,30,40,50] >>> random.shuffle(num) >>> num [50, 20, 40, 30, 10]
random.sample() - यह फ़ंक्शन अपरिवर्तनीय अनुक्रम के साथ काम करता है। यह क्रम से यादृच्छिक रूप से चयनित वस्तुओं की एक सूची देता है और इसे बरकरार रखता है।
>>> name = "TutorialsPoint" >>> nm = random.sample(name, k = 2) >>> name, nm ('TutorialsPoint', ['i', 'a'])