Numrat e rastësishëm mund të gjenerohen duke përdorur funksionet random(), uniform(), randange() dhe randint() në modulin e rastësishëm të bibliotekës standarde Python.
Moduli i rastësishëm përfshihet në bibliotekën standarde, kështu që nuk kërkohet instalim shtesë. Sigurisht, ju duhet ta importoni atë.
Informacioni i mëposhtëm jepet këtu.
random.random()
(Numri i pikës lundruese midis 0.0 dhe 1.0)random.uniform()
(Çdo varg numrash me pikë lundruese)- Gjeneroni numra të rastësishëm që ndjekin një shpërndarje normale, shpërndarje Gaussian, etj.
random.randrange()
(Numri i plotë i diapazonit dhe hapit arbitrar)random.randint()
(Një numër i plotë në çdo varg)- Gjenerimi i një liste me numra të rastësishëm si elementë
- Lista e numrave të rastësishëm me pikë lundruese
- Lista e numrave të rastësishëm me numra të plotë
- Inicializoni gjeneratorin e numrave të rastësishëm (rregulloni farën e numrave të rastësishëm)
Shihni artikullin vijues se si të nxirrni ose renditni rastësisht elementët e një liste.
- Artikuj të ngjashëm:Zgjedhja e elementeve të rastësishëm nga një listë në Python duke përdorur zgjedhje (), mostër (), zgjedhje ()
- random.random()(Numri i pikës lundruese midis 0.0 dhe 1.0)
- random.uniform()(Çdo varg numrash me pikë lundruese)
- Gjeneroni numra të rastësishëm që ndjekin një shpërndarje normale, shpërndarje Gaussian, etj.
- random.randrange()(Numri i plotë i diapazonit dhe hapit arbitrar)
- random.randint()(Një numër i plotë në çdo varg)
- Gjenerimi i një liste me numra të rastësishëm si elementë
- Inicializoni gjeneratorin e numrave të rastësishëm (rregulloni farën e numrave të rastësishëm)
random.random()(Numri i pikës lundruese midis 0.0 dhe 1.0)
Funksioni random() i modulit të rastësishëm gjeneron një numër të rastësishëm me pikë lundruese të tipit float që është midis 0.0 dhe 1.0.
import random
print(random.random())
# 0.4496839011176701
random.uniform()(Çdo varg numrash me pikë lundruese)
uniform(a, b)
Funksionet e këtij moduli të rastësishëm gjenerojnë numra të rastësishëm të tipit float të numrave me pikë lundruese në cilindo nga vargjet e mëposhtme
a <= n <= b
b <= n <= a
import random
print(random.uniform(100, 200))
# 175.26585048238275
Të dy argumentet mund të jenë ose më të mëdhenj ose më të vegjël; nëse ato janë të barabarta, ato natyrisht do ta kthejnë vetëm atë vlerë. Vlera e kthimit është gjithmonë një notim.
print(random.uniform(100, -100))
# -27.82338731501028
print(random.uniform(100, 100))
# 100.0
Argumenti mund të specifikohet gjithashtu si një float.
print(random.uniform(1.234, 5.637))
# 2.606743596829249
Nëse vlera e b përfshihet në interval varet nga rrumbullakimi i mëposhtëm, siç dokumentohet.a + (b-a) * random.random()
Nëse vlera e pikës fundore b është në interval apo jo, varet nga rrumbullakimi i pikës lundruese në ekuacionin vijues
a + (b-a) * random()
random.uniform() — Generate pseudo-random numbers — Python 3.10.2 Documentation
Gjeneroni numra të rastësishëm që ndjekin një shpërndarje normale, shpërndarje Gaussian, etj.
Funksionet random() dhe uniform() më sipër gjenerojnë numra të rastësishëm të shpërndarë në mënyrë uniforme, por ka edhe funksione për të gjeneruar numra me pikë lundruese që ndjekin shpërndarjen e mëposhtme.
- shpërndarja beta:
random.betavariate()
- shpërndarja eksponenciale:
random.expovariate()
- shpërndarja e gama:
random.gammavariate()
- Shpërndarja Gaussian:
random.gauss()
- shpërndarje lognormale:
random.lognormvariate()
- shpërndarje normale:
random.normalvariate()
- Shpërndarja e Von Mises:
random.vonmisesvariate()
- Shpërndarja Pareto:
random.paretovariate()
- Shpërndarja Weibull:
random.weibullvariate()
Parametrat e secilës shpërndarje specifikohen me argumente. Shikoni dokumentacionin zyrtar për detaje.
random.randrange()(Numri i plotë i diapazonit dhe hapit arbitrar)
randrange(start, stop, step)
Funksioni i këtij moduli të rastësishëm kthen një element të zgjedhur rastësisht nga elementët e mëposhtëm.range(start, stop, step)
Ashtu si me range(), argumentet start dhe step mund të hiqen. Nëse ato hiqen, start=0 dhe hap=1.
import random
print(list(range(10)))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(random.randrange(10))
# 5
Hapi i argumentit mund të vendoset për të gjeneruar një numër të plotë të rastësishëm çift ose tek, ose një numër të plotë të rastësishëm që është shumëfish i treshit.
Për shembull, nëse fillimi është çift dhe hapi=2, vetëm numrat çift të plotë në interval mund të merren rastësisht.
print(list(range(10, 20, 2)))
# [10, 12, 14, 16, 18]
print(random.randrange(10, 20, 2))
# 18
random.randint()(Një numër i plotë në çdo varg)
randint(a, b)
Funksioni i këtij moduli të rastësishëm kthen numrin e plotë të rastësishëm të mëposhtëm.a <= n <= b
randrange(a, b + 1)
Ekuivalente me këtë; vini re se vlera e b përfshihet gjithashtu në interval.
print(random.randint(50, 100))
# print(random.randrange(50, 101))
# 74
Gjenerimi i një liste me numra të rastësishëm si elementë
Në këtë seksion, ne do të shpjegojmë se si të përdorim modulin e rastësishëm të bibliotekës standarde për të gjeneruar një listë me numra të rastit si elementë.
Lista e numrave të rastit me nota me pikë lundruese
Për të gjeneruar një listë, elementët e së cilës janë numra të rastësishëm me pikë lundruese, kombinoni funksionet random() dhe uniform() me shënimin e kuptimit të listës.
import random
print([random.random() for i in range(5)])
# [0.5518201298350598, 0.3476911314933616, 0.8463426180468342, 0.8949046353303931, 0.40822657702632625]
Në shembullin e mësipërm, përdoret range(), por listat dhe tuplet janë gjithashtu të mundshme për numrin e dëshiruar të elementeve. Për më shumë detaje mbi kuptimin e listës, ju lutemi referojuni artikullit vijues.
- Artikuj të ngjashëm:Duke përdorur shënimin e kuptimit të listës Python
Lista e numrave të plotë të rastit
Kur krijoni një listë, elementët e së cilës janë numra të rastësishëm me numra të plotë, kombinimi i renditjes së mësipërme () dhe randint () me shënimin e kuptimit të listës mund të rezultojë në vlera të dyfishta.
print([random.randint(0, 10) for i in range(5)])
# [8, 5, 7, 10, 7]
Nëse dëshironi të bëni një sekuencë të rastësishme të numrave të plotë pa dyfishim, nxirrni elementet e range() me një diapazon arbitrar duke përdorur 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]
Për më shumë informacion rreth random.sample(), ju lutemi referojuni artikullit të mëposhtëm.
- Artikuj të ngjashëm:Zgjedhja e elementeve të rastësishëm nga një listë në Python duke përdorur zgjedhje (), mostër (), zgjedhje ()
Inicializoni gjeneratorin e numrave të rastësishëm (rregulloni farën e numrave të rastësishëm)
Duke i dhënë një numër të plotë arbitrar funksionit seed() të modulit të rastësishëm, fara e numrave të rastësishëm mund të fiksohet dhe gjeneratori i numrave të rastësishëm mund të inicializohet.
Pas inicializimit me të njëjtën farë, vlera e rastësishme gjenerohet gjithmonë në të njëjtën mënyrë.
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