logo

Tilfældige tal i Python

Python definerer et sæt funktioner, der bruges til at generere eller manipulere tilfældige tal gennem tilfældigt modul.

Funktioner i tilfældigt modul stole på en pseudo-tilfældigt tal generator funktion random(), som genererer et tilfældigt flydende tal mellem 0,0 og 1,0. Denne særlige type funktioner bruges i mange spil, lotterier eller enhver applikation, der kræver generering af tilfældige tal.



Lad os se et eksempel på at generere et tilfældigt tal i Python ved hjælp af random() funktion.

Python3








import> random> num>=> random.random()> print>(num)>

>

>

Produktion:

0.30078080420602904>

Forskellige måder at generere et tilfældigt tal i Python

Der er en række måder at generere tilfældige tal i Python ved hjælp af funktionerne i Python tilfældige modul. Lad os se et par forskellige måder.

Generering af et tilfældigt tal ved hjælp af valg()

Python random.choice() er en indbygget funktion i Python programmeringssproget, der returnerer et tilfældigt element fra en liste, tupel , 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))>

>

>

Produktion:

5 t>

Generering af et tilfældigt tal ved hjælp af randrange()

Det tilfældige modul tilbyder en funktion, der kan generere tilfældige Python-tal fra et specificeret område og giver også plads til, at trin kan inkluderes, kaldet 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>))>

>

>

Produktion:

A random number from list is : 4 A random number from range is : 41>

Generering af et tilfældigt tal ved hjælp af seed()

Python random.seed() funktion bruges til at gemme tilstanden for en tilfældig funktion, så den kan generere nogle tilfældige tal i Python på flere udførelser af koden på den samme maskine eller på forskellige maskiner (for en specifik basisværdi). Frøværdien er det tidligere værdinummer genereret af generatoren. For første gang, når der ikke er nogen tidligere værdi, bruger den den aktuelle 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())>

>

>

Produktion:

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>

Generering af et tilfældigt tal ved hjælp af shuffle()

Funktionen shuffle() bruges til at blande en sekvens (liste). Blanding betyder at ændre placeringen af ​​elementerne i sekvensen. Her er blandeoperationen på plads.

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)>

>

>

Produktion:

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']>

Generering af et tilfældigt tal ved hjælp af uniform()

Uniform()-funktionen bruges til at generere et flydende punkt Python-tilfældigt tal mellem de tal, der er nævnt i dens argumenter. Det kræver to argumenter, nedre grænse (inkluderet i generation) og øvre grænse (ikke inkluderet i generation).

Python3


andet hvis 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>))>

>

>

Produktion:

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>