Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में छद्म-यादृच्छिक संख्या जनरेट करना (random मॉड्यूल)

कई कंप्यूटर एप्लिकेशन्स को यादृच्छिक संख्या जनरेट करने की आवश्यकता होती है। हालांकि, उनमें से कोई भी वास्तव में यादृच्छिक संख्या जनरेट नहीं करता। पायथन, किसी अन्य प्रोग्रामिंग तकनीक की तरह, एक छद्म-यादृच्छिक जनरेटर का उपयोग करता है। पायथन की यादृच्छिक जनरेशन Mersenne Twister एल्गोरिदम पर आधारित है जो 53-बिट परिशुद्धता फ्लोट्स उत्पन्न करता है। यह तकनीक तेज और थ्रेड-सेफ है लेकिन क्रिप्टोग्राफिक उद्देश्य के लिए उपयुक्त नहीं है।

पायथन की स्टैंडर्ड लाइब्रेरी में random मॉड्यूल होता है जो यादृच्छिकता को संभालने के लिए विभिन्न फ़ंक्शन्स को परिभाषित करता है।

random.seed() - यह फ़ंक्शन यादृच्छिक संख्या जनरेटर को इनिशियलाइज़ करता है। जब random मॉड्यूल इम्पोर्ट किया जाता है, तो जनरेटर सिस्टम समय की मदद से इनिशियलाइज़ होता है। जनरेटर को रीसीड करने के लिए, किसी भी int, str, byte या bytearray ऑब्जेक्ट का उपयोग करें।

random.getstate() - यह फ़ंक्शन setstate() फ़ंक्शन के साथ मिलकर वही यादृच्छिक डेटा बार-बार पुन: पेश करने में मदद करता है। getstate() फ़ंक्शन यादृच्छिक संख्या जनरेटर की आंतरिक स्थिति लौटाता है।

random.setstate() - यह फ़ंक्शन जनरेटर की आंतरिक स्थिति को पुनर्स्थापित करता है।

यादृच्छिक पूर्णांक जनरेशन

random.randrange() - यह फ़ंक्शन दी गई रेंज के बीच एक यादृच्छिक पूर्णांक जनरेट करता है। यह तीन पैरामीटर्स ले सकता है।

random.randrange(start, stop, step)

start और step पैरामीटर्स वैकल्पिक हैं। उनके डिफ़ॉल्ट मान क्रमशः 0 और 1 हैं। Step क्रमिक संख्याओं के बीच अंतराल निर्धारित करता है।

>>> random.randrange(10)
5
>>> random.randrange(10, 20)
17
>>> random.randrange(100, 200, 2)
188

(नोट: उपरोक्त स्टेटमेंट्स का आउटपुट, और इस लेख के बाकी स्टेटमेंट्स भी समान नहीं हो सकते क्योंकि वे यादृच्छिक रूप से जनरेट होते हैं)

random.randint() - यह फ़ंक्शन दो पैरामीटर्स के बीच एक यादृच्छिक पूर्णांक जनरेट करता है। यह randrange() फ़ंक्शन के समान है बिना step पैरामीटर के। Start पैरामीटर अनिवार्य है।

>>> 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'])
  1. पायथन में issubset() फंक्शन पायथन में issubset() फंक्शन

    इस लेख में, हम पायथन स्टैंडर्ड लाइब्रेरी में उपलब्ध issubset() फंक्शन के कार्यान्वयन और उपयोग के बारे में जानेंगे।issubset() मेथड बूलियन True वापस करता है जब एक सेट के सभी तत्व दूसरे सेट में मौजूद होते हैं (जिसे तर्क के रूप में पारित किया जाता है) अन्यथा, यह बूलियन False वापस करता है।नीचे दिए गए चित

  1. - Python का उपयोग करके अभाज्य संख्याएँ कैसे उत्पन्न करें?

    Python में अभाज्य संख्याएँ उत्पन्न करना अभाज्य संख्या वह है जो 1 और स्वयं को छोड़कर किसी अन्य संख्या से विभाज्य नहीं है। Python में % मॉड्यूलो ऑपरेटर उपलब्ध है यह जांचने के लिए कि कोई संख्या किसी अन्य से विभाज्य है या नहीं। यह मानते हुए कि हमें 1 से 100 के बीच अभाज्य संख्याएँ ढूंढनी हैं, रेंज में

  1. - पायथन रैंडम नंबर कैसे जनरेट करता है?

    पायथन के स्टैंडर्ड डिस्ट्रीब्यूशन में एक random मॉड्यूल होता है जिसमें रैंडम नंबर जनरेशन के लिए फ़ंक्शन होते हैं। बेसिक random() फ़ंक्शन 0 और 1 के बीच एक रैंडम फ्लोटिंग पॉइंट नंबर वापस करता है। >>> import random >>> random.random() 0.5204702770265925 उसी मॉड्यूल में randrange() फ