Náhodná čísla v Pythonu

Python definuje sadu funkcí, které se používají ke generování nebo manipulaci s náhodnými čísly prostřednictvím náhodný modul. 

Funkce v náhodný modul spoléhat na funkci generátoru pseudonáhodných čísel random(), která generuje náhodné plovoucí číslo mezi 0,0 a 1,0. Tento konkrétní typ funkcí se používá v mnoha herních loteriích nebo v jakékoli aplikaci vyžadující generování náhodných čísel.

Podívejme se na příklad generování náhody číslo v Pythonu pomocí funkce random().

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

výstup:  

 0.30078080420602904  

Různé způsoby generování náhodného čísla v Pythonu

Existuje řada způsobů, jak generovat náhodná čísla v Pythonu pomocí funkcí modulu Python random. Podívejme se na několik různých způsobů.

Generování náhodného čísla pomocí volby()

Krajta random.choice() je vestavěná funkce v programovacím jazyce Python, která vrací náhodnou položku z a seznam tuple nebo řetězec .

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

výstup:

 5   
t

Generování náhodného čísla pomocí randrange()

Modul random nabízí funkci, která dokáže generovat náhodná čísla Pythonu ze zadaného rozsahu a také umožňuje zahrnout kroky 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  ))   

výstup:  

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

Generování náhodného čísla pomocí seed()

Krajta random.seed() Funkce se používá k uložení stavu náhodné funkce, aby mohla generovat nějaká náhodná čísla v Pythonu při více spuštěních kódu na stejném stroji nebo na různých strojích (pro konkrétní počáteční hodnotu). Výchozí hodnota je předchozí číslo hodnoty generované generátorem. Poprvé, když neexistuje žádná předchozí hodnota, používá aktuální systémový čas.

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

výstup:  

 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

Generování náhodného čísla pomocí shuffle()

The zamíchat () funkce se používá k zamíchání sekvence (seznamu). Zamíchání znamená změnu pozice prvků sekvence. Zde je operace míchání na místě.

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  )   

výstup:

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

Generování náhodného čísla pomocí uniform()

The jednotný() Funkce se používá ke generování náhodného čísla Pythonu s plovoucí desetinnou čárkou mezi čísly uvedenými v jeho argumentech. Vyžaduje dva argumenty dolní mez (zahrnuto do generování) a horní mez (nezahrnuto do generování).

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

výstup:  

 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