Python apibrėžia funkcijų rinkinį, kuris naudojamas atsitiktiniams skaičiams generuoti arba manipuliuoti naudojant atsitiktinis modulis.
Funkcijos atsitiktinis modulis pasikliauti pseudoatsitiktinių skaičių generatoriaus funkcija random(), kuri generuoja atsitiktinį slankiojo skaičiaus tarp 0,0 ir 1,0. Šios konkretaus tipo funkcijos naudojamos daugelyje žaidimų, loterijų ar bet kurioje programoje, kuriai reikalingas atsitiktinių skaičių generavimas.
Pažiūrėkime pavyzdį, kaip sugeneruoti atsitiktinį skaičių Python naudojant atsitiktinė () funkcija.
Python3
import> random> num>=> random.random()> print>(num)> |
>
>
Išvestis:
0.30078080420602904>
Įvairūs būdai, kaip sugeneruoti atsitiktinį skaičių „Python“.
Yra keletas būdų, kaip sugeneruoti atsitiktinius skaičius Python naudojant Python atsitiktinio modulio funkcijas. Pažiūrėkime kelis skirtingus būdus.
Atsitiktinio skaičiaus generavimas naudojant pasirinkimą ()
Python random.choice() yra Python programavimo kalbos integruota funkcija, kuri grąžina atsitiktinį elementą iš sąrašo, kortele , arba eilutė .
Python3
repl java
# 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))> |
>
>
Išvestis:
5 t>
Atsitiktinio skaičiaus generavimas naudojant randrange()
Atsitiktinis modulis siūlo funkciją, kuri gali generuoti Python atsitiktinius skaičius iš nurodyto diapazono, taip pat leidžia įtraukti žingsnius, vadinamus 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>))> |
>
>
10 ml uncijoje
Išvestis:
A random number from list is : 4 A random number from range is : 41>
Atsitiktinio skaičiaus generavimas naudojant seed()
Python random.seed() Funkcija naudojama išsaugoti atsitiktinės funkcijos būseną, kad ji galėtų sugeneruoti kai kuriuos atsitiktinius skaičius Python programoje kelis kartus vykdant kodą toje pačioje mašinoje arba skirtingose mašinose (konkrečiai pradinei vertei). Pradinė vertė yra ankstesnis generatoriaus sugeneruotas vertės numeris. Pirmą kartą, kai nėra ankstesnės reikšmės, naudojamas dabartinis sistemos laikas.
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())> |
>
>
Išvestis:
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>
Atsitiktinio skaičiaus generavimas naudojant shuffle ()
Funkcija shuffle() naudojama sekai (sąrašui) maišyti. Maišymas reiškia sekos elementų padėties pakeitimą. Čia vyksta maišymo operacija.
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)> |
>
>
Išvestis:
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']>
Atsitiktinio skaičiaus generavimas naudojant uniformą ()
Funkcija uniform() naudojama generuoti slankiojo kablelio Python atsitiktinį skaičių tarp jos argumentuose nurodytų skaičių. Tam reikalingi du argumentai: apatinė riba (įtraukiama į generavimą) ir viršutinė riba (neįtraukta į generavimą).
Python3
# 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>))> |
>
>
chown komanda
Išvestis:
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>