Kā lietot Python random moduli
Python random modulis piedāvā dažādas funkcijas, lai ģenerētu nejaušus skaitļus dažādos formātos, sākot no veseliem skaitļiem līdz peldošā punkta skaitļiem un elementu atlasīšanai no sarakstiem.
Kas ir Python random modulis un kā to var izmantot?
Python random modulis random ir iebūvēta bibliotēka, kas ļauj ģenerēt nejaušus skaitļus un veikt nejaušības balstītas operācijas jūsu programmās. Tas ietver dažādas funkcijas pseidonnejaušu skaitļu ģenerēšanai, kurus var izmantot daudzās lietojumprogrammās, sākot no simulācijas līdz spēļu izstrādei un kriptogrāfiskām uzdevumiem.
Svarīga nejaušības moduļa īpašība ir tā spēja nodrošināt reproducējamus rezultātus. Nosakot sākuma vērtību vai sēklu, nejaušības ģenerēšanas procesu var reproducēt. Tas ir izdevīgi testēšanai, eksperimentiem un simulācijām, kurām nepieciešami konsekventi nejaušības dati.
Kādas funkcijas ir random modulī?
Python random modulis satur dažādas metodes nejaušu skaitļu ģenerēšanai un apstrādei. Turpmākajā tabulā sniegts pārskats par funkcijām un to īpašībām:
| Funkcijas nosaukums | Paskaidrojums |
|---|---|
seed(a=None, version=2)
|
Nosaka sākotnējo vērtību (sēklu) nejaušā skaitļa ģeneratoram |
getstate()
|
Atgriež nejaušā skaitļa ģeneratora pašreizējo stāvokli kā objektu |
setstate(state)
|
Atsāk nejaušu skaitļu ģeneratora stāvokli, izmantojot stāvokļa objektu |
getrandbits(k)
|
Atgriež veselu skaitli ar k bitiem |
randrange(start, stop, step)
|
Izveido nejaušu veselu skaitli no norādītā diapazona |
randint(a, b)
|
Atgriež nejaušu veselo skaitli no norādītā diapazona |
choice(seq)
|
Atgriež nejaušu elementu no dotās secības |
choices(population, weights=None, *, cum_weights=None, k=1)
|
Izveido sarakstu ar k nejauši izvēlētiem elementiem no kopuma; iespējams norādīt varbūtības |
sample(k, population)
|
Izveido sarakstu ar k nejauši izvēlētiem elementiem no populācijas, bez dublikātiem |
shuffle(x)
|
Sakārto saraksta elementus nejaušā secībā |
random()
|
Atgriež nejaušu peldošā punkta skaitli starp 0 un 1 |
uniform(a, b)
|
Atgriež nejaušu peldošā punkta skaitli norādītajā diapazonā, ieskaitot robežvērtības |
triangular(low, high, mode)
|
Izveido nejaušu peldošā punkta skaitli trīsstūrveida sadales diapazonā |
betavariate(alpha, beta)
|
Atgriež nejaušu peldošā punkta skaitli no beta sadales. |
expovariate(lambd)
|
Atgriež nejaušu peldošā punkta skaitli no eksponenciālās sadales. |
gammavariate(alpha, beta)
|
Izveido nejaušu peldošā punkta skaitli no gamma sadales. |
gauss(mu, sigma)
|
Atgriež nejaušu peldošā punkta skaitli no Gausa sadales. |
lognormvariate(mu, sigma)
|
Izveido nejaušu peldošā punkta skaitli no logaritmiskā normālā sadalījuma. |
normalvariate(mu, sigma)
|
Atgriež nejaušu peldošā punkta skaitli no normālā sadalījuma. |
vonmisesvariate(mu, kappa)
|
Atgriež nejaušu peldošā punkta skaitli ar von Mises sadalījumu vai cirkulāro normālo sadalījumu |
paretovariate(alpha)
|
Atgriež nejaušu peldošā punkta skaitli ar Pareto sadalījumu |
weibullvariate(alpha, beta)
|
Atgriež nejaušu peldošā punkta skaitli ar Veibula sadalījumu |
Kā izvēlēties elementus no saraksta pēc nejaušības principa
Ja vēlaties izvēlēties vairākus nejaušus elementus no saraksta, varat izmantot funkciju choices(seq, k=n) no Python random moduļa, kur n ir vēlamo nejaušo elementu skaits.
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Šajā gadījumā mēs izmantojam funkciju choices(), lai izvēlētos trīs nejaušus elementus no my_list. Rezultāti tiek atgriezti kā trīs nejaušu elementu saraksts.
Kā sajaukt sarakstu
shuffle() funkcija sakārto Python saraksta elementus nejaušā secībā.
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']pythonJāatceras, ka shuffle() maina pašu sarakstu un neatgriež jaunu. Pēc shuffle() izmantošanas sākotnējais saraksts būs nejaušā secībā.
Kā iestatīt sēklas vērtību
Kad izmantojat Python random moduļa random.seed(), lai iestatītu konkrētu sēklas vērtību, tas inicializē nejaušu skaitļu ģeneratoru, lai radītu nejaušus skaitļus, izmantojot šo sēklu. Tāpēc, ja vēlāk atkārtoti iestatīsiet to pašu sēklas vērtību, jūsu lietojumprogrammā tiks ģenerēta identiska nejaušu skaitļu secība.
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)pythonPēc sēklas vērtības iestatīšanas tiek ģenerēti un izvadīti nejauši skaitļi. Sēklas atiestatīšana uz to pašu vērtību izraisa to pašu nejaušo skaitļu secības atkārtotu ģenerēšanu. Šajā piemērā sēklas vērtība ir 42. Kamēr šī sēkla paliek nemainīga, nejaušos skaitļus var konsekventi atkārtot.