Случайни числа в 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