random(), randrange(), र randint() सहित पाइथनमा अनियमित दशमलव र पूर्णाङ्कहरू उत्पन्न गर्दै

व्यापार

अनियमित संख्याहरू पाइथन मानक पुस्तकालयको अनियमित मोड्युलमा random(), uniform(), randange(), र randint() प्रकार्यहरू प्रयोग गरेर उत्पन्न गर्न सकिन्छ।

अनियमित मोड्युल मानक पुस्तकालयमा समावेश गरिएको छ, त्यसैले कुनै अतिरिक्त स्थापना आवश्यक पर्दैन। अवश्य पनि, तपाईंले यसलाई आयात गर्न आवश्यक छ।

निम्न जानकारी यहाँ प्रदान गरिएको छ।

  • random.random()(०.० र १.० बीचको फ्लोटिंग बिन्दु संख्या)
  • random.uniform()(फ्लोटिंग बिन्दु संख्याहरूको कुनै पनि दायरा)
  • सामान्य वितरण, गाउसियन वितरण, आदि पछ्याउने अनियमित संख्याहरू उत्पन्न गर्नुहोस्।
  • random.randrange()(स्वैच्छिक दायरा र चरणको पूर्णांक)
  • random.randint()(कुनै पनि दायरामा पूर्णांक)
  • तत्वहरूको रूपमा अनियमित संख्याहरूको साथ सूची सिर्जना गर्दै
    • अनियमित फ्लोटिंग-पोइन्ट नम्बरहरूको सूची
    • पूर्णांक अनियमित संख्याहरूको सूची
  • अनियमित संख्या जनरेटर सुरु गर्नुहोस् (यादृच्छिक संख्या बीज ठीक गर्नुहोस्)

कसरी अनियमित रूपमा निकाल्ने वा सूचीको तत्वहरू क्रमबद्ध गर्ने ’bout निम्न लेख हेर्नुहोस्।

random.random()(०.० र १.० बीचको फ्लोटिंग बिन्दु संख्या)

अनियमित मोड्युलको प्रकार्य random() ले 0.0 र 1.0 बीचको फ्लोट प्रकारको अनियमित फ्लोटिंग-पोइन्ट संख्या उत्पन्न गर्दछ।

import random

print(random.random())
# 0.4496839011176701

random.uniform()(फ्लोटिंग बिन्दु संख्याहरूको कुनै पनि दायरा)

uniform(a, b)यस अनियमित मोड्युलका कार्यहरूले निम्न दायराहरू मध्ये कुनै पनि फ्लोटिंग-पोइन्ट नम्बर फ्लोट प्रकारको अनियमित संख्याहरू उत्पन्न गर्दछ।

  • a <= n <= b
  • b <= n <= a
import random

print(random.uniform(100, 200))
# 175.26585048238275

दुई तर्क या त ठूलो वा सानो हुन सक्छ; यदि तिनीहरू बराबर छन् भने, तिनीहरू स्वाभाविक रूपमा मात्र त्यो मूल्य फिर्ता गर्नेछन्। फिर्ता मूल्य सधैं एक फ्लोट छ।

print(random.uniform(100, -100))
# -27.82338731501028

print(random.uniform(100, 100))
# 100.0

तर्कलाई फ्लोटको रूपमा पनि निर्दिष्ट गर्न सकिन्छ।

print(random.uniform(1.234, 5.637))
# 2.606743596829249

दायरा मा b को मान समावेश छ कि छैन निम्न राउन्डिङ मा निर्भर गर्दछ, दस्तावेज अनुसार।
a + (b-a) * random.random()

अन्तबिन्दु मान b दायरामा छ वा छैन निम्न समीकरणमा फ्लोटिंग बिन्दु राउन्डिङमा निर्भर गर्दछ
a + (b-a) * random()
random.uniform() — Generate pseudo-random numbers — Python 3.10.2 Documentation

सामान्य वितरण, गाउसियन वितरण, आदि पछ्याउने अनियमित संख्याहरू उत्पन्न गर्नुहोस्।

माथिको random() र uniform() प्रकार्यहरूले समान रूपमा वितरित अनियमित संख्याहरू उत्पन्न गर्दछ, तर निम्न वितरणलाई पछ्याउने फ्लोटिंग बिन्दु संख्याहरू उत्पन्न गर्ने कार्यहरू पनि छन्।

  • बिटा वितरण:random.betavariate()
  • घातीय वितरण:random.expovariate()
  • गामा वितरण:random.gammavariate()
  • गाउसियन वितरण:random.gauss()
  • सामान्य वितरण:random.lognormvariate()
  • सामान्य वितरण:random.normalvariate()
  • Von Mises वितरण:random.vonmisesvariate()
  • Pareto वितरण:random.paretovariate()
  • Weibull वितरण:random.weibullvariate()

प्रत्येक वितरणको प्यारामिटरहरू तर्कहरूद्वारा निर्दिष्ट गरिएका छन्। विवरणका लागि आधिकारिक कागजात हेर्नुहोस्।

random.randrange()(स्वैच्छिक दायरा र चरणको पूर्णांक)

randrange(start, stop, step)
यस अनियमित मोड्युलको प्रकार्यले निम्न तत्वहरूबाट अनियमित रूपमा चयन गरिएको तत्व फिर्ता गर्छ।
range(start, stop, step)

दायरा () को रूपमा, तर्कहरू सुरु र चरण मेटाउन सकिन्छ। यदि तिनीहरू छोडिएका छन् भने, सुरु=0 र चरण=1।

import random

print(list(range(10)))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(random.randrange(10))
# 5

तर्क चरण एक समान वा विषम अनियमित पूर्णांक, वा तीन को एक गुणन एक अनियमित पूर्णांक उत्पन्न गर्न सेट गर्न सकिन्छ।

उदाहरणका लागि, यदि शुरुवात बराबर र step=2 छ भने, दायरामा भएका पूर्णांकहरू पनि अनियमित रूपमा प्राप्त गर्न सकिन्छ।

print(list(range(10, 20, 2)))
# [10, 12, 14, 16, 18]

print(random.randrange(10, 20, 2))
# 18

random.randint()(कुनै पनि दायरामा पूर्णांक)

randint(a, b)
यस अनियमित मोड्युलको प्रकार्यले निम्न अनियमित पूर्णांक int फर्काउँछ।
a <= n <= b
randrange(a, b + 1)यो बराबर; ध्यान दिनुहोस् कि दायरामा b को मान पनि समावेश गरिएको छ।

print(random.randint(50, 100))
# print(random.randrange(50, 101))
# 74

तत्वहरूको रूपमा अनियमित संख्याहरूको साथ सूची सिर्जना गर्दै

यस खण्डमा, हामी तत्वहरूको रूपमा अनियमित संख्याहरूको सूची सिर्जना गर्न मानक पुस्तकालयको अनियमित मोड्युल कसरी प्रयोग गर्ने भनेर व्याख्या गर्नेछौं।

फ्लोटिंग-पोइन्ट फ्लोटहरूसँग अनियमित संख्याहरूको सूची

एक सूची उत्पन्न गर्न जसको तत्वहरू फ्लोटिंग-पोइन्ट अनियमित संख्याहरू हुन्, random() र uniform() प्रकार्यहरूलाई सूची बुझाइ सङ्केतसँग जोड्नुहोस्।

import random

print([random.random() for i in range(5)])
# [0.5518201298350598, 0.3476911314933616, 0.8463426180468342, 0.8949046353303931, 0.40822657702632625]

माथिको उदाहरणमा, दायरा() प्रयोग गरिएको छ, तर सूची र टुपलहरू पनि तत्वहरूको इच्छित संख्याको लागि सम्भव छन्। सूची बुझाइमा थप विवरणहरूको लागि, कृपया निम्न लेखलाई सन्दर्भ गर्नुहोस्।

पूर्णांक int अनियमित संख्याहरूको सूची

सूची उत्पन्न गर्दा जसका तत्वहरू पूर्णाङ्क अनियमित संख्याहरू हुन्, माथिको randange() र randint() लाई सूची बुझ्ने सङ्केतसँग संयोजन गर्दा नक्कल मानहरू हुन सक्छ।

print([random.randint(0, 10) for i in range(5)])
# [8, 5, 7, 10, 7]

यदि तपाइँ नक्कल बिना पूर्णांकहरूको अनियमित अनुक्रम बनाउन चाहनुहुन्छ भने, random.sample() को प्रयोग गरी मनमानी दायराको साथ दायरा() को तत्वहरू निकाल्नुहोस्।

print(random.sample(range(10), k=5))
# [6, 4, 3, 7, 5]

print(random.sample(range(100, 200, 10), k=5))
# [130, 190, 140, 150, 170]

random.sample() को ’boutमा थप जानकारीको लागि, कृपया निम्न लेखलाई सन्दर्भ गर्नुहोस्।

अनियमित संख्या जनरेटर सुरु गर्नुहोस् (यादृच्छिक संख्या बीज ठीक गर्नुहोस्)

यादृच्छिक मोड्युलको प्रकार्य बीज() लाई एक स्वेच्छाचारी पूर्णांक दिएर, अनियमित संख्याको बीज फिक्स गर्न सकिन्छ र अनियमित संख्या जनरेटर सुरु गर्न सकिन्छ।

एउटै बीउको साथ प्रारम्भ पछि, अनियमित मान सधैं उही तरिकामा उत्पन्न हुन्छ।

random.seed(0)
print(random.random())
# 0.8444218515250481

print(random.random())
# 0.7579544029403025

random.seed(0)
print(random.random())
# 0.8444218515250481

print(random.random())
# 0.7579544029403025