logo

Случайни числа в 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('nAfter the first shuffle : ') print(sample_list) # second shuffle random.shuffle(sample_list) print('nAfter 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