Python дефинира набор от функции, които се използват за генериране или манипулиране на произволни числа чрез произволен модул.
Функции в произволен модул разчитат на функция за генериране на псевдослучайни числа random(), която генерира произволно число с плаваща задна буква между 0,0 и 1,0. Този конкретен тип функции се използват в много лотарийни игри или всяко приложение, изискващо генериране на произволни числа.
Нека видим пример за генериране на случаен принцип номер в Python с помощта на random() функция.
Pythonimport 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