हम नमूना डेटा के लिए अपनी परियोजना में एक यादृच्छिक संख्या उत्पन्न करने के लिए उपयोग करते हैं, जिसे बाद में परीक्षण के लिए उपयोग किया जा सकता है, खाली कॉलम या कई अन्य उद्देश्यों के लिए उपयोग किया जा सकता है, मुख्य बात यह है कि हमें यादृच्छिक डेटा उत्पन्न करने की आवश्यकता है। पायथन में, यादृच्छिक डेटा उत्पन्न करने के कई तरीके हैं और हम इस लेख में उनमें से कुछ का पता लगाने जा रहे हैं -
पायथन रैंडम () मॉड्यूल
महत्वपूर्ण पुस्तकालय में से एक, जो अजगर के साथ आता है वह यादृच्छिक है और हम इसे अपने पूरे कोड में उपयोग करने जा रहे हैं।
अपने कोड में इस मॉड्यूल का उपयोग करने के लिए, आपको बस इसे आयात करने की आवश्यकता है, बस इतना ही और हम इसका उपयोग करने के लिए तैयार हैं।
यादृच्छिक आयात करें
आइए देखें कि इसका उपयोग कैसे करें -
import randomprint("मुझे क्या मिलेगा, पता नहीं क्योंकि मैं random.random ()") प्रिंट (random.random ()) का उपयोग कर रहा हूं।
आउटपुट
मुझे क्या मिलेगा, पता नहीं क्योंकि मैं random.random()0.5306626723173611का उपयोग कर रहा हूं।
दूसरी बार, अगर मैं एक ही प्रोग्राम चलाने की कोशिश करता हूं- तो आपको अलग आउटपुट मिलेगा -
मुझे क्या मिलेगा, पता नहीं क्योंकि मैं random.random()0.5504289430397661का उपयोग कर रहा हूं
यादृच्छिक मॉड्यूल पर कुछ बिंदु:
- random() रैंडम मॉड्यूल का मूल कार्य है
- रैंडम मॉड्यूल के लगभग सभी फ़ंक्शन रैंडम () फ़ंक्शन का उपयोग करते हैं।
- रैंडम () फ़ंक्शन [0.0 से 1.0) के बीच कोई भी संख्या जनरेट करेगा।
पायथन में यादृच्छिक पूर्णांक संख्या उत्पन्न करें
दो कार्यों के नीचे हम यादृच्छिक पूर्णांक उत्पन्न करने के लिए उपयोग कर रहे हैं -
- रैंडिंट ()
- रैंडरेंज ()
यादृच्छिक आयात से randint, randrangeprint("यादृच्छिक पूर्णांक प्रिंट करना", randint(0, 20))print("यादृच्छिक पूर्णांक प्रिंट करना", randrange(0, 20, 2))
आउटपुट
यादृच्छिक पूर्णांक मुद्रित करना 15यादृच्छिक पूर्णांक 4 मुद्रित करना
किसी सूची से यादृच्छिक रूप से कोई आइटम चुनें
विचार करें कि हमारे पास कंपनियों के नाम की एक सूची है और हम उस सूची से एक आइटम (कंपनी का नाम) प्राप्त करना चाहते हैं। हम इसे इसके द्वारा प्राप्त कर सकते हैं,
import randomcompanies =['RELIANCE', 'TCS', 'INFY', 'SBI', 'PNB','HDFC']print('Randomly Select company from a list:', random.choice(companies))
आउटपुट
किसी सूची से कंपनी का बेतरतीब ढंग से चयन करना:INFY
किसी सूची से कई आइटम का बेतरतीब ढंग से चयन करना
उपरोक्त उदाहरण पर विचार करें, लेकिन एक आइटम (कंपनी) के बजाय हम एक सूची से कई आइटम (कंपनियों) को यादृच्छिक रूप से चुनना चाहते हैं, हम इसे random.sample() फ़ंक्शन के माध्यम से प्राप्त कर सकते हैं -
import randomcompanies =['RELIANCE', 'TCS', 'INFY', 'SBI', 'PNB','HDFC']print('Randomly से 3 कंपनियों को एक सूची से चुनना:', random.sample(कंपनियां, 3))
आउटपुट
किसी सूची में से 3 कंपनियों को बेतरतीब ढंग से चुनना:['TCS', 'RELIANCE', 'INFY']
हालांकि, अगर हम सूची में आइटम की संख्या से अधिक आइटम का चयन करने का प्रयास करते हैं, तो हमें ValueError -
का सामना करना पड़ता है।इनपुट -
random.sample(कंपनियां,20)
आउटपुट -
ValueError:नमूना जनसंख्या से बड़ा या नकारात्मक है
एक सूची से कई रैंडम आइटम चुनने का दूसरा तरीका है - random.choices()।
import randomcompanies =['RELIANCE', 'TCS', 'INFY', 'SBI', 'PNB','HDFC']print('Randomly सेलेक्टिंग 3 कंपनियों को एक सूची से:', random.choices(कंपनियां, के=6))
आउटपुट
किसी सूची में से 3 कंपनियों को यादृच्छिक रूप से चुनना:['TCS', 'TCS', 'INFY', 'HDFC', 'INFY', 'TCS']
जैसा कि हम उपरोक्त आउटपुट से देख सकते हैं, हम random.choices() विधि का उपयोग करने पर सूची से एक डुप्लिकेट आइटम प्राप्त कर सकते हैं।
पायथन में छद्म यादृच्छिक संख्या जनरेटर
छद्म यादृच्छिक संख्या जनरेटर एक मूल्य पर कुछ ऑपरेशन करके काम करता है। आम तौर पर, यह मान जनरेटर द्वारा उत्पन्न पिछली संख्या है। हालांकि, पहली बार जब आप जनरेटर का उपयोग करते हैं, तो कोई पिछला मूल्य नहीं होता है।
इम्पोर्ट रैंडमप्रिंट ("बीज वैल्यू 10:") ) # इस बार हम अलग-अलग मान प्राप्त करेंगेrandom.seed(5) for i in range(5):print(random.randint(1,100))print()print("Seed value:10") # समान परिणाम मिलेगा , हमें शुरुआत में क्या मिला हैrandom.seed(10) for i in range(5):print(random.randint(1,100))
आउटपुट
बीज मूल्य 10:745556274बीज मूल्य 5:8033954689बीज मूल्य:10745556274
जैसा कि हम उपरोक्त उदाहरण से देखते हैं, यदि बीज समान है, तो यह पहला पिछला मान उत्पन्न करता है। प्रत्येक बीज मान किसी दिए गए यादृच्छिक संख्या जनरेटर के लिए उत्पन्न मूल्य के एक निश्चित अनुक्रम से मेल खाता है।
पायथन में क्रिप्टोग्राफ़िक रूप से सुरक्षित रैंडम नंबर जेनरेट करें
हम अजगर 3.x में क्रिप्टोग्राफिक रूप से सुरक्षित यादृच्छिक संख्या उत्पन्न कर सकते हैं। यदि हमारे पास अजगर 3.6 या इसके बाद के संस्करण हैं तो हम इसके लिए नए रहस्य मॉड्यूल और फ़ंक्शन रैंड का उपयोग कर सकते हैं। यह निर्दिष्ट मान के नीचे एक यादृच्छिक संख्या उत्पन्न करेगा।
इम्पोर्ट सीक्रेट्स#10 और 500 के बीच 10 सुरक्षित रैंडम नंबर जेनरेट करेंx रेंज में(0,10):secV =10+ secrets.randbelow(500)print(secV)
आउटपुट
464406184293399332495292118134
पायथन 3.5 या उससे नीचे के लिए एक और तरीका है, हम क्रिप्टोग्राफिक रूप से सुरक्षित यादृच्छिक संख्या उत्पन्न करने के लिए यादृच्छिक मॉड्यूल और सिस्टम रैंडम वर्ग का उपयोग कर सकते हैं,
यादृच्छिक आयात करेंआउटपुट
374211425264217972103931952दूसरा तरीका रैंडम और सीक्रेट्स (डेटा को सुरक्षित करने के लिए) मॉड्यूल का उपयोग करना है।
import secretsimport randomsecNum =random.SystemRandom().random()print("secure number is", secNum)print("Secure byte टोकन", secrets.token_bytes(16))आउटपुट
सुरक्षित संख्या 0.5205307353786663 है सुरक्षित बाइट टोकन b'\x05T>\xacsqn0\x08\xc4\xf4\x8aU\x13\x9f\xcf'