పైథాన్‌లో యాదృచ్ఛిక దశాంశాలు మరియు పూర్ణాంకాలను ఉత్పత్తి చేయడం, ఇందులో రాండమ్(), రాండ్‌రేంజ్(), మరియు రాండింట్()

వ్యాపారం

పైథాన్ స్టాండర్డ్ లైబ్రరీ యొక్క యాదృచ్ఛిక మాడ్యూల్‌లో యాదృచ్ఛిక(), యూనిఫాం(), రాండెంజ్(), మరియు రాండింట్() ఫంక్షన్‌లను ఉపయోగించి యాదృచ్ఛిక సంఖ్యలను రూపొందించవచ్చు.

యాదృచ్ఛిక మాడ్యూల్ ప్రామాణిక లైబ్రరీలో చేర్చబడింది, కాబట్టి అదనపు ఇన్‌స్టాలేషన్ అవసరం లేదు. వాస్తవానికి, మీరు దానిని దిగుమతి చేసుకోవాలి.

కింది సమాచారం ఇక్కడ అందించబడింది.

  • random.random()(0.0 మరియు 1.0 మధ్య ఫ్లోటింగ్ పాయింట్ సంఖ్య)
  • random.uniform()(ఫ్లోటింగ్ పాయింట్ సంఖ్యల యొక్క ఏదైనా పరిధి)
  • సాధారణ పంపిణీ, గాస్సియన్ పంపిణీ మొదలైనవాటిని అనుసరించే యాదృచ్ఛిక సంఖ్యలను రూపొందించండి.
  • random.randrange()(ఏకపక్ష పరిధి మరియు దశ యొక్క పూర్ణాంకం)
  • random.randint()(ఏ పరిధిలోనైనా పూర్ణాంకం)
  • యాదృచ్ఛిక సంఖ్యలను మూలకాలుగా జాబితాను రూపొందిస్తోంది
    • యాదృచ్ఛిక ఫ్లోటింగ్ పాయింట్ సంఖ్యల జాబితా
    • పూర్ణాంక యాదృచ్ఛిక సంఖ్యల జాబితా
  • యాదృచ్ఛిక సంఖ్య జనరేటర్‌ను ప్రారంభించండి (యాదృచ్ఛిక సంఖ్య విత్తనాన్ని పరిష్కరించండి)

జాబితాలోని మూలకాలను యాదృచ్ఛికంగా సంగ్రహించడం లేదా క్రమబద్ధీకరించడం ఎలా అనేదానిపై క్రింది కథనాన్ని చూడండి.

random.random()(0.0 మరియు 1.0 మధ్య ఫ్లోటింగ్ పాయింట్ సంఖ్య)

యాదృచ్ఛిక మాడ్యూల్ యొక్క ఫంక్షన్ రాండమ్() అనేది 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.betavariate()
  • ఘాతాంక పంపిణీ:random.expovariate()
  • గామా పంపిణీ:random.gammavariate()
  • గాస్సియన్ పంపిణీ:random.gauss()
  • లాగ్నార్మల్ పంపిణీ:random.lognormvariate()
  • సాధారణ పంపిణీ:random.normalvariate()
  • వాన్ మిసెస్ పంపిణీ:random.vonmisesvariate()
  • పారెటో పంపిణీ:random.paretovariate()
  • వీబుల్ పంపిణీ: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

ఆర్గ్యుమెంట్ స్టెప్‌ని సరి లేదా బేసి యాదృచ్ఛిక పూర్ణాంకం లేదా మూడు యొక్క గుణకారంగా ఉండే యాదృచ్ఛిక పూర్ణాంకాన్ని రూపొందించడానికి సెట్ చేయవచ్చు.

ఉదాహరణకు, ప్రారంభం సరి మరియు దశ=2 అయితే, పరిధిలోని పూర్ణాంకాలు మాత్రమే యాదృచ్ఛికంగా పొందవచ్చు.

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

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

random.randint()(ఏ పరిధిలోనైనా పూర్ణాంకం)

randint(a, b)
ఈ యాదృచ్ఛిక మాడ్యూల్ యొక్క ఫంక్షన్ క్రింది యాదృచ్ఛిక పూర్ణాంక పూర్ణాన్ని అందిస్తుంది.
a <= n <= b
randrange(a, b + 1)దీనికి సమానం; b విలువ కూడా పరిధిలో చేర్చబడిందని గమనించండి.

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

యాదృచ్ఛిక సంఖ్యలను మూలకాలుగా జాబితాను రూపొందిస్తోంది

ఈ విభాగంలో, యాదృచ్ఛిక సంఖ్యలతో మూలకాలుగా జాబితాను రూపొందించడానికి ప్రామాణిక లైబ్రరీ యొక్క యాదృచ్ఛిక మాడ్యూల్‌ను ఎలా ఉపయోగించాలో మేము వివరిస్తాము.

ఫ్లోటింగ్ పాయింట్ ఫ్లోట్‌లతో యాదృచ్ఛిక సంఖ్యల జాబితా

ఫ్లోటింగ్ పాయింట్ యాదృచ్ఛిక సంఖ్యల మూలకాల జాబితాను రూపొందించడానికి, యాదృచ్ఛిక() మరియు యూనిఫాం() ఫంక్షన్‌లను జాబితా కాంప్రహెన్షన్ సంజ్ఞామానంతో కలపండి.

import random

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

ఎగువ ఉదాహరణలో, పరిధి() ఉపయోగించబడుతుంది, అయితే కావలసిన సంఖ్యలో మూలకాల కోసం జాబితాలు మరియు టుపుల్స్ కూడా సాధ్యమే. జాబితా గ్రహణాలపై మరిన్ని వివరాల కోసం, దయచేసి క్రింది కథనాన్ని చూడండి.

పూర్ణాంకం పూర్ణాంక యాదృచ్ఛిక సంఖ్యల జాబితా

పూర్ణాంక యాదృచ్ఛిక సంఖ్యల మూలకాల జాబితాను రూపొందిస్తున్నప్పుడు, జాబితా కాంప్రహెన్షన్ సంజ్ఞామానంతో పై రాండెంజ్() మరియు రాండింట్()లను కలపడం వలన నకిలీ విలువలు ఏర్పడవచ్చు.

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() గురించి మరింత సమాచారం కోసం, దయచేసి క్రింది కథనాన్ని చూడండి.

యాదృచ్ఛిక సంఖ్య జనరేటర్‌ను ప్రారంభించండి (యాదృచ్ఛిక సంఖ్య విత్తనాన్ని పరిష్కరించండి)

యాదృచ్ఛిక మాడ్యూల్ యొక్క ఫంక్షన్ సీడ్()కి ఏకపక్ష పూర్ణాంకం ఇవ్వడం ద్వారా, యాదృచ్ఛిక సంఖ్య విత్తనాన్ని స్థిరపరచవచ్చు మరియు యాదృచ్ఛిక సంఖ్య జనరేటర్‌ను ప్రారంభించవచ్చు.

అదే విత్తనంతో ప్రారంభించిన తర్వాత, యాదృచ్ఛిక విలువ ఎల్లప్పుడూ అదే విధంగా ఉత్పత్తి చేయబడుతుంది.

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
Copied title and URL