Kako uporabljati modul Python random
Modul Python random vam ponuja različne funkcije za generiranje naključnih številk v različnih formatih, od celih številk do številk s plavajočo vejico in izbire elementov iz seznamov.
Kaj je Pythonov modul random in za kaj se lahko uporablja?
Modul Python random random je vgrajena knjižnica, ki omogoča generiranje naključnih številk in izvajanje naključnih operacij v programih. Vključuje različne funkcije za generiranje psevdonaključnih številk, ki se lahko uporabljajo v številnih aplikacijah, od simulacij do razvoja iger in kriptografskih nalog.
Pomembna značilnost naključnega modula je njegova sposobnost zagotavljanja ponovljivih rezultatov. Z določitvijo začetne vrednosti ali semena je mogoče ponoviti proces naključnega generiranja. To je koristno za testiranje, eksperimente in simulacije, ki zahtevajo dosledne naključne podatke.
Kakšne so funkcije v naključnem modulu?
Pythonov modul random vsebuje različne metode za generiranje in obdelavo naključnih številk. V naslednji tabeli je prikazan pregled funkcij in njihovih lastnosti:
| Ime funkcije | Pojasnilo |
|---|---|
seed(a=None, version=2)
|
Določi začetno vrednost (semena) za generator naključnih številk |
getstate()
|
Vrne trenutno stanje generatorja naključnih številk kot objekt |
setstate(state)
|
Ponastavi stanje generatorja naključnih številk z uporabo objekta stanja |
getrandbits(k)
|
Vrne celo število s k biti |
randrange(start, stop, step)
|
Ustvari naključno celo število iz določenega obsega. |
randint(a, b)
|
Vrne naključno celo število v določenem obsegu |
choice(seq)
|
Vrne naključni element iz dane zaporedja |
choices(population, weights=None, *, cum_weights=None, k=1)
|
Ustvari seznam s k naključno izbranimi elementi iz populacije; možnost določitve verjetnosti |
sample(k, population)
|
Ustvari seznam s k naključno izbranimi elementi iz populacije, brez podvajanja |
shuffle(x)
|
Premeša elemente na seznamu v naključnem vrstnem redu. |
random()
|
Vrne naključno število s plavajočo vejico med 0 in 1. |
uniform(a, b)
|
Vrne naključno število s plavajočo vejico v določenem območju, vključno z mejnimi vrednostmi. |
triangular(low, high, mode)
|
Ustvari naključno število s plavajočo vejico v trikotnem razponu porazdelitve. |
betavariate(alpha, beta)
|
Vrne naključno število s plavajočo vejico iz beta porazdelitve. |
expovariate(lambd)
|
Vrne naključno število s plavajočo vejico iz eksponentne porazdelitve. |
gammavariate(alpha, beta)
|
Ustvari naključno število s plavajočo vejico iz gama porazdelitve. |
gauss(mu, sigma)
|
Vrne naključno število s plavajočo vejico iz Gaussove porazdelitve. |
lognormvariate(mu, sigma)
|
Ustvari naključno število s plavajočo vejico iz logaritmične normalne porazdelitve. |
normalvariate(mu, sigma)
|
Vrne naključno število s plavajočo vejico iz normalne porazdelitve. |
vonmisesvariate(mu, kappa)
|
Vrne naključno število s plavajočo vejico z von Misesovo porazdelitvijo ali krožno normalno porazdelitvijo. |
paretovariate(alpha)
|
Vrne naključno število s plavajočo vejico s Paretovo porazdelitvijo. |
weibullvariate(alpha, beta)
|
Vrne naključno število s plavajočo vejico z Weibullovo porazdelitvijo. |
Kako naključno izbrati elemente iz seznama
Če želite iz seznama izbrati več naključnih elementov, lahko uporabite funkcijo choices(seq, k=n) iz modula Python random, kjer je n število želenih naključnih elementov.
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)pythonV tem primeru uporabimo funkcijo choices(), da izberemo tri naključne elemente izmed my_list. Rezultati se vrnejo kot seznam treh naključnih elementov.
Kako premešati seznam
Funkcija shuffle() razporedi elemente seznama Python v naključnem vrstnem redu.
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']pythonUpoštevajte, da shuffle() spremeni sam seznam in ne vrne novega. Po uporabi shuffle() bo prvotni seznam v naključnem vrstnem redu.
Kako nastaviti vrednost semena
Ko uporabite random.seed() iz modula Python random za nastavitev določene začetne vrednosti, se inicializira generator naključnih številk, ki na podlagi te začetne vrednosti ustvari naključna števila. Če torej kasneje ponovno nastavite isto začetno vrednost, bo to v vaši aplikaciji povzročilo nastanek identične zaporedje naključnih številk.
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)pythonKo je vrednost semena nastavljena, generira in izpiše naključna števila. Ponastavitev semena na isto vrednost povzroči, da se ponovno generira ista zaporedja naključnih števil. V tem primeru je vrednost semena 42. Dokler to seme ostane nespremenjeno, se naključna števila lahko dosledno ponavljajo.