Python random moodul pakub mit­me­su­gu­seid funkt­sioone juhuslike arvude ge­ne­ree­ri­miseks eri­ne­va­tes for­maa­ti­des, alates täis­ar­vu­dest kuni uju­ko­ma­ar­vu­deni ja ele­men­tide va­li­miseni loen­di­test.

Mis on Pythoni juhuslik moodul ja milleks seda saab kasutada?

Python random moodul random on sis­se­ehi­ta­tud teek, mis võimaldab teil ge­ne­ree­rida ju­hus­likke numbreid ja teha ju­hus­li­kel arvudel põ­hi­ne­vaid ope­rat­sioone oma prog­rammi­des. See sisaldab mit­me­su­gu­seid funkt­sioone pseu­do­ju­hus­like numbrite ge­ne­ree­ri­miseks, mida saab kasutada paljudes ra­ken­dus­tes, alates si­mu­lat­sioo­ni­dest kuni mängude aren­da­mise ja krüp­tograa­fi­liste üles­an­neteni.

Juhusliku mooduli oluline omadus on võime anda kor­ra­ta­vaid tulemusi. Alus­ta­mis­väär­tuse või alg­väär­tuse mää­ra­mi­sega on võimalik juhusliku ge­ne­ree­ri­mise protsessi korrata. See on kasulik tes­ti­misel, kat­se­ta­misel ja si­mu­lat­sioo­ni­del, mis nõuavad jär­je­pi­de­vaid ju­hus­likke andmeid.

Millised on juhusliku mooduli funkt­sioo­nid?

Pythoni ju­hus­lik­kuse moodul sisaldab mit­me­su­gu­seid meetodeid juhuslike arvude ge­ne­ree­ri­miseks ja tööt­le­miseks. Järgmine tabel annab ülevaate funkt­sioo­ni­dest ja nende oma­dus­test:

Funkt­siooni nimi Selgitus
seed(a=None, version=2) Määrab juhusliku ar­vu­ge­ne­raa­tori alg­väär­tuse (seemne)
getstate() Tagastab juhusliku ar­vu­ge­ne­raa­tori praeguse seisundi objektina
setstate(state) Nullib juhusliku ar­vu­ge­ne­raa­tori oleku ole­ku­ob­jekti abil
getrandbits(k) Tagastab k-bitise täisarvu
randrange(start, stop, step) Loob juhusliku täisarvu määratud va­he­mi­kust
randint(a, b) Tagastab juhusliku täisarvu määratud vahemikus
choice(seq) Tagastab juhusliku elemendi antud jadas
choices(population, weights=None, *, cum_weights=None, k=1) Loob nimekirja, mis sisaldab k ju­hus­li­kult valitud elementi po­pu­lat­sioo­nist; võimalus määrata tõe­näo­su­sed
sample(k, population) Loob nimekirja, mis sisaldab k ju­hus­li­kult valitud elementi po­pu­lat­sioo­nist, ilma kor­dus­teta
shuffle(x) Segab nimekirja elemendid ju­hus­li­kus jär­je­kor­ras
random() Tagastab juhusliku uju­ko­ma­arvu vahemikus 0 kuni 1.
uniform(a, b) Tagastab juhusliku uju­ko­ma­arvu määratud vahemikus, seal­hul­gas piir­väär­tu­sed
triangular(low, high, mode) Loob juhusliku uju­ko­ma­arvu kolm­nurk­jao­tuse vahemikus.
betavariate(alpha, beta) Tagastab juhusliku uju­ko­ma­arvu bee­ta­jao­tuse va­he­mi­kust.
expovariate(lambd) Tagastab juhusliku uju­ko­ma­arvu eks­po­nent­siaal­jao­tu­sest.
gammavariate(alpha, beta) Loob juhusliku uju­ko­ma­arvu gam­ma­jao­tu­sest.
gauss(mu, sigma) Tagastab juhusliku uju­ko­ma­arvu Gaussi jaotusest.
lognormvariate(mu, sigma) Loob juhusliku uju­ko­ma­arvu lo­ga­rit­mi­li­sest nor­maal­jao­tu­sest.
normalvariate(mu, sigma) Tagastab juhusliku uju­ko­ma­arvu nor­maal­jao­tu­sest.
vonmisesvariate(mu, kappa) Tagastab juhusliku uju­ko­ma­arvu von Mises’i jaotuse või ringja nor­maal­jao­tuse alusel.
paretovariate(alpha) Tagastab juhusliku uju­ko­ma­arvu Pareto jaotusega.
weibullvariate(alpha, beta) Tagastab juhusliku uju­ko­ma­ar­vuga Weibulli jaotuse

Kuidas valida loendist ju­hus­li­kult elemente

Kui soovite valida ni­me­kir­jast mitu ju­hus­likku elementi, võite kasutada Python random mooduli funkt­siooni choices(seq, k=n), kus n on soovitud juhuslike ele­men­tide arv.

import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Randomly selecting an element from the list
random_elements = random.choices(my_list, k=3)
print("Randomly selected elements:", random_elements)
python

Sellisel juhul kasutame funkt­siooni choices(), et valida my_list kolm ju­hus­likku elementi. Tulemused ta­gas­ta­takse kolme juhusliku elemendi loendina.

Kuidas segada nimekirja

Funkt­sioon shuffle() järjestab Python-nimekirja elemendid ju­hus­li­kus jär­je­kor­ras.

import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Shuffle the elements in the list
random.shuffle(my_list)
print("Shuffled list:", my_list) # Example Output: Shuffled list: ['Strawberry', 'Banana', 'Apple', 'Cherry', 'Orange']
python

Pidage meeles, et shuffle() muudab nimekirja ennast ega tagasta uut. Pärast shuffle() ka­su­ta­mist on algne nimekiri ju­hus­li­kus jär­je­kor­ras.

Kuidas määrata alg­väär­tus

Kui kasutate Python random-mooduli funkt­siooni random.seed() konk­reetse alg­väär­tuse sead­miseks, algatab see juhuslike arvude ge­ne­ree­rija, mis toodab ju­hus­likke arve, kasutades seda alg­väär­tust. Seega, kui sea­dis­tate hiljem uuesti sama alg­väär­tuse, ge­ne­ree­ri­takse teie ra­ken­duses identne juhuslike arvude jada.

import random
# Setting the seed value to 42
random.seed(42)
# Generating random numbers
print(random.random())  # Example output: 0.6394267984578837
print(random.random())  # Example output: 0.025010755222666936
# Resetting the seed value to 42
random.seed(42)
# Generating random numbers again
print(random.random())  # Example output: 0.6394267984578837 (identical to the previous value)
print(random.random())  # Example output: 0.025010755222666936 (identical to the previous value)
python

Pärast alg­väär­tuse määramist ge­ne­ree­rib ja väljastab see ju­hus­likke numbreid. Alg­väär­tuse taas­ta­mine samale väär­tu­sele toob kaasa sama juhuslike numbrite jada uuesti ge­ne­ree­ri­mise. Selles näites on alg­väär­tus 42. Niikaua, kui see alg­väär­tus jääb muu­tu­ma­tuks, on ju­hus­likke numbreid võimalik jär­je­pi­de­valt korrata.

Go to Main Menu