Случайни числа в Python

Python дефинира набор от функции, които се използват за генериране или манипулиране на произволни числа чрез произволен модул. 

Функции в произволен модул разчитат на функция за генериране на псевдослучайни числа random(), която генерира произволно число с плаваща задна буква между 0,0 и 1,0. Този конкретен тип функции се използват в много лотарийни игри или всяко приложение, изискващо генериране на произволни числа.

Нека видим пример за генериране на случаен принцип номер в Python с помощта на random() функция.

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

Изход:  

 0.30078080420602904  

Различни начини за генериране на произволно число в Python

Има редица начини за генериране на произволни числа в Python с помощта на функциите на произволния модул на Python. Нека видим няколко различни начина.

Генериране на произволно число използвайки избор()

Python random.choice() е вградена функция в езика за програмиране Python, която връща произволен елемент от a списък кортеж или низ .

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

Изход:

 5   
t

Генериране на произволно число с помощта на randrange()

Случайният модул предлага функция, която може да генерира произволни числа на Python от определен диапазон и също така позволява място за включване на стъпки, наречени 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  ))   

Изход:  

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

Генериране на случайно число с помощта на seed()

Python random.seed() функцията се използва за запазване на състоянието на произволна функция, така че да може да генерира някои произволни числа в Python при множество изпълнения на кода на една и съща машина или на различни машини (за конкретна начална стойност). Началната стойност е номерът на предишната стойност, генериран от генератора. За първи път, когато няма предишна стойност, той използва текущото системно време.

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

Изход:  

 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

Генериране на произволно число с помощта на shuffle()

The разбъркване () функция се използва за разбъркване на последователност (списък). Разбъркването означава промяна на позицията на елементите на последователността. Тук операцията по разместване е на място.

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  )   

Изход:

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

Генериране на случайно число с помощта на uniform()

The униформа() функцията се използва за генериране на произволно число на Python с плаваща запетая между числата, споменати в нейните аргументи. Необходими са два аргумента долна граница (включена в генерирането) и горна граница (не е включена в генерирането).

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

Изход:  

 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