Atsitiktiniai skaičiai Python

Python apibrėžia funkcijų rinkinį, kuris naudojamas atsitiktiniams skaičiams generuoti arba manipuliuoti naudojant atsitiktinis modulis. 

Funkcijos atsitiktinis modulis pasikliaukite pseudoatsitiktinių skaičių generatoriaus funkcija random(), kuri generuoja atsitiktinį slankiojo skaičiaus tarp 0,0 ir 1,0. Šios konkrečios funkcijos naudojamos daugelyje žaidimų loterijų arba bet kurioje programoje, kuriai reikalingas atsitiktinių skaičių generavimas.

Pažvelkime į atsitiktinio generavimo pavyzdį numerį Python naudojant atsitiktinė () funkcija.

Python
   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š a sąrašą kortele arba styga .

Python
   # 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 ir taip pat leidžia įtraukti žingsnius, vadinamus randrange () .

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

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.

Python
   # 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 ()

The shuffle () funkcija naudojama sekai (sąrašui) maišyti. Maišymas reiškia sekos elementų padėties pakeitimą. Čia vyksta maišymo operacija.

Python
   # 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  (  '  n  After the first shuffle : '  )   print  (  sample_list  )   # second shuffle   random  .  shuffle  (  sample_list  )   print  (  '  n  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ą ()

The uniforma () funkcija naudojama generuoti slankiojo kablelio Python atsitiktinį skaičių tarp jos argumentuose nurodytų skaičių. Reikia dviejų argumentų: apatinė riba (įtraukta į generavimą) ir viršutinė riba (neįtraukta į generavimą).

Python
   # 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  (  '  r  '  )   # 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  (  '  r  '  )   # 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  ))   

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