random -modulen tilbyr deg en rekke funksjoner for å generere tilfeldige tall i ulike formater, alt fra heltall til flytende tall til valg av elementer fra lister.

Hva er Pythons random-modul, og hva kan den brukes til?

random random er et innebygd bibliotek som lar deg generere tilfeldige tall og utføre tilfeldighetsbaserte operasjoner i programmene dine. Den inneholder ulike funksjoner for å generere pseudotilfeldige tall som kan brukes i mange applikasjoner, fra simulering til spillutvikling og kryptografiske oppgaver.

En viktig egenskap ved tilfeldighetsmodulen er dens evne til å gi reproduserbare resultater. Ved å fastsette en startverdi eller et startpunkt kan prosessen med tilfeldig generering reproduseres. Dette er nyttig for testing, eksperimenter og simuleringer som krever konsistente tilfeldige data.

Hva er funksjonene i random-modulen?

Python-modulen random inneholder ulike metoder for å generere og behandle tilfeldige tall. Tabellen nedenfor gir en oversikt over funksjonene og deres egenskaper:

Funksjonens navn Forklaring
seed(a=None, version=2) Definerer startverdien (seed) for tilfeldig tallgeneratoren
getstate() Returnerer den aktuelle tilstanden til tilfeldig tallgeneratoren som et objekt
setstate(state) Tilbakestiller tilstanden til tilfeldig tallgeneratoren ved hjelp av et tilstandsobjekt
getrandbits(k) Returnerer et heltall med k biter
randrange(start, stop, step) Oppretter et tilfeldig heltall fra det angitte området
randint(a, b) Returnerer et tilfeldig heltall i det angitte området
choice(seq) Returnerer et tilfeldig element fra den angitte sekvensen
choices(population, weights=None, *, cum_weights=None, k=1) Oppretter en liste med k tilfeldig utvalgte elementer fra populasjonen; valgfritt å spesifisere sannsynlighetene
sample(k, population) Oppretter en liste med k tilfeldig valgte elementer fra populasjonen, uten duplikater
shuffle(x) Blander elementene i en liste i tilfeldig rekkefølge
random() Returnerer et tilfeldig flytende tall mellom 0 og 1
uniform(a, b) Returnerer et tilfeldig flytende tall i det angitte området, inkludert grenseverdiene
triangular(low, high, mode) Oppretter et tilfeldig flytende tall i det trekantede fordelingsområdet.
betavariate(alpha, beta) Returnerer et tilfeldig flytende tall fra en betafordeling.
expovariate(lambd) Returnerer et tilfeldig flytende tall fra en eksponentiell fordeling.
gammavariate(alpha, beta) Oppretter et tilfeldig flytende tall fra en gammadistribusjon.
gauss(mu, sigma) Returnerer et tilfeldig flytende tall fra en Gaussisk fordeling
lognormvariate(mu, sigma) Oppretter et tilfeldig flytende tall fra en logaritmisk normalfordeling.
normalvariate(mu, sigma) Returnerer et tilfeldig flytende tall fra en normalfordeling
vonmisesvariate(mu, kappa) Returnerer et tilfeldig flytende tall med en von Mises-fordeling eller sirkulær normalfordeling
paretovariate(alpha) Returnerer et tilfeldig flytende tall med en Pareto-fordeling.
weibullvariate(alpha, beta) Returnerer et tilfeldig flytende tall med en Weibull-fordeling

Hvordan velge elementer tilfeldig fra en liste

Hvis du vil velge flere tilfeldige elementer fra en liste, kan du bruke funksjonen choices(seq, k=n) fra Python-modulen random, der n er antall ønskede tilfeldige elementer.

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

I dette tilfellet bruker vi funksjonen choices() til å velge tre tilfeldige elementer fra my_list. Resultatene returneres som en liste med tre tilfeldige elementer.

Hvordan blande en liste

Funksjonen shuffle() ordner Python-listeelementer i tilfeldig rekkefølge.

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

Du bør huske på at shuffle() endrer selve listen og ikke returnerer en ny. Etter å ha brukt shuffle(), vil den opprinnelige listen være i tilfeldig rekkefølge.

Hvordan angi en startverdi

Når du bruker random.seed() fra Python random-modulen til å angi en spesifikk startverdi, initialiserer den tilfeldig tallgeneratoren til å produsere tilfeldige tall ved hjelp av denne startverdien. Hvis du senere angir samme startverdi igjen, vil det derfor resultere i at identiske sekvenser av tilfeldige tall genereres i applikasjonen din.

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

Etter at startverdien er angitt, genererer og sender den ut tilfeldige tall. Hvis startverdien tilbakestilles til samme verdi, vil den samme sekvensen av tilfeldige tall genereres på nytt. I dette eksemplet er startverdien 42. Så lenge denne startverdien forblir konstant, kan de tilfeldige tallene replikeres konsekvent.

Go to Main Menu