Python definerer et sett med funksjoner som brukes til å generere eller manipulere tilfeldige tall gjennom tilfeldig modul.
Funksjoner i tilfeldig modul stole på en pseudo-tilfeldig tallgeneratorfunksjon random(), som genererer et tilfeldig flyttall mellom 0,0 og 1,0. Denne spesielle typen funksjoner brukes i mange spill, lotterier eller andre applikasjoner som krever generering av tilfeldige tall.
La oss se et eksempel på å generere et tilfeldig tall i Python ved å bruke tilfeldig() funksjon.
Python3
import> random> num>=> random.random()> print>(num)> |
>
>
Produksjon:
0.30078080420602904>
Ulike måter å generere et tilfeldig tall i Python
Det er en rekke måter å generere tilfeldige tall i Python ved å bruke funksjonene til Python tilfeldig-modulen. La oss se på noen forskjellige måter.
Generer et tilfeldig tall bruker valg()
Python random.choice() er en innebygd funksjon i programmeringsspråket Python som returnerer et tilfeldig element fra en liste, tuppel , eller streng .
Python3
# import random> import> random> # prints a random value from the list> list1>=> [>1>,>2>,>3>,>4>,>5>,>6>]> print>(random.choice(list1))> # prints a random item from the string> string>=> 'striver'> print>(random.choice(string))> |
>
>
Produksjon:
5 t>
Generer et tilfeldig tall ved å bruke randrange()
Den tilfeldige modulen tilbyr en funksjon som kan generere tilfeldige Python-tall fra et spesifisert område og gir også rom for trinn som kan inkluderes, kalt randrange() .
Python3
# importing 'random' for random operations> import> random> # using choice() to generate a random number from a> # given list of numbers.> print>(>'A random number from list is : '>, end>=>'')> print>(random.choice([>1>,>4>,>8>,>10>,>3>]))> # using randrange() to generate in range from 20> # to 50. The last parameter 3 is step size to skip> # three numbers when selecting.> print>(>'A random number from range is : '>, end>=>'')> print>(random.randrange(>20>,>50>,>3>))> |
>
>
Produksjon:
A random number from list is : 4 A random number from range is : 41>
Generer et tilfeldig tall ved å bruke seed()
Python random.seed() funksjon brukes til å lagre tilstanden til en tilfeldig funksjon slik at den kan generere noen tilfeldige tall i Python på flere utføringer av koden på samme maskin eller på forskjellige maskiner (for en spesifikk frøverdi). Frøverdien er det forrige verditallet generert av generatoren. For første gang når det ikke er noen tidligere verdi, bruker den gjeldende systemtid.
Python3
# importing 'random' for random operations> import> random> # using random() to generate a random number> # between 0 and 1> print>(>'A random number between 0 and 1 is : '>, end>=>'')> print>(random.random())> # using seed() to seed a random number> random.seed(>5>)> # printing mapped random number> print>(>'The mapped random number with 5 is : '>, end>=>'')> print>(random.random())> # using seed() to seed different random number> random.seed(>7>)> # printing mapped random number> print>(>'The mapped random number with 7 is : '>, end>=>'')> print>(random.random())> # using seed() to seed to 5 again> random.seed(>5>)> # printing mapped random number> print>(>'The mapped random number with 5 is : '>, end>=>'')> print>(random.random())> # using seed() to seed to 7 again> random.seed(>7>)> # printing mapped random number> print>(>'The mapped random number with 7 is : '>, end>=>'')> print>(random.random())> |
>
>
Produksjon:
A random number between 0 and 1 is : 0.510721762520941 The mapped random number with 5 is : 0.6229016948897019 The mapped random number with 7 is : 0.32383276483316237 The mapped random number with 5 is : 0.6229016948897019 The mapped random number with 7 is : 0.32383276483316237>
Generer et tilfeldig tall ved å bruke shuffle()
Funksjonen shuffle() brukes til å blande en sekvens (liste). Blanding betyr å endre posisjonen til elementene i sekvensen. Her er stokkingen på plass.
Python3
# import the random module> import> random> # declare a list> sample_list>=> [>'A'>,>'B'>,>'C'>,>'D'>,>'E'>]> print>(>'Original list : '>)> print>(sample_list)> # first shuffle> random.shuffle(sample_list)> print>(>'
After the first shuffle : '>)> print>(sample_list)> # second shuffle> random.shuffle(sample_list)> print>(>'
After the second shuffle : '>)> print>(sample_list)> |
>
>
Produksjon:
Original list : ['A', 'B', 'C', 'D', 'E'] After the first shuffle : ['A', 'B', 'E', 'C', 'D'] After the second shuffle : ['C', 'E', 'B', 'D', 'A']>
Generer et tilfeldig tall ved å bruke uniform()
Uniform()-funksjonen brukes til å generere et flytende punkt Python-tilfeldig tall mellom tallene nevnt i argumentene. Det krever to argumenter, nedre grense (inkludert i generasjon) og øvre grense (ikke inkludert i generasjon).
Python3
string.replaceall i java
# Python code to demonstrate the working of> # shuffle() and uniform()> # importing 'random' for random operations> import> random> # Initializing list> li>=> [>1>,>4>,>5>,>10>,>2>]> # Printing list before shuffling> print>(>'The list before shuffling is : '>, end>=>'')> for> i>in> range>(>0>,>len>(li)):> >print>(li[i], end>=>' '>)> print>(>'
'>)> # using shuffle() to shuffle the list> random.shuffle(li)> # Printing list after shuffling> print>(>'The list after shuffling is : '>, end>=>'')> for> i>in> range>(>0>,>len>(li)):> >print>(li[i], end>=>' '>)> print>(>'
'>)> # using uniform() to generate random floating number in range> # prints number between 5 and 10> print>(>'The random floating point number between 5 and 10 is : '>, end>=>'')> print>(random.uniform(>5>,>10>))> |
>
>
Produksjon:
The list before shuffling is : 1 4 5 10 2 The list after shuffling is : 2 1 4 5 10 The random floating point number between 5 and 10 is : 5.183697823553464>