Випадкові числа в Python
Python визначає набір функцій, які використовуються для генерування або маніпулювання випадковими числами через випадковий модуль.
Функції в випадковий модуль покладатися на функцію генератора псевдовипадкових чисел random(), яка генерує випадкове число з плаваючою точкою від 0,0 до 1,0. Цей конкретний тип функцій використовується в багатьох іграх, лотереях або будь-якій програмі, яка потребує генерації випадкових чисел.
Давайте подивимося приклад генерації випадкового числа в Python за допомогою функція random().
Python3
import> random> num> => random.random()> print> (num)> |
Вихід:
0.30078080420602904
Різні способи генерації випадкового числа в Python
Існує кілька способів генерації випадкових чисел у Python за допомогою функцій модуля Python random. Давайте розглянемо кілька різних способів.
Генерація випадкового числа використовуючи вибір()
Python random.choice() це вбудована функція в мові програмування Python, яка повертає випадковий елемент зі списку, кортеж , або рядок .
Python3
# 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()
Модуль random пропонує функцію, яка може генерувати випадкові числа Python із заданого діапазону, а також дозволяє включати кроки, що називається randrange().
Python3
# 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 під час багаторазового виконання коду на одній машині або на різних машинах (для певного початкового значення). Початкове значення — це номер попереднього значення, згенерований генератором. Уперше, коли немає попереднього значення, використовується поточний системний час.
Python3
# 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()
Функція shuffle() використовується для перемішування послідовності (списку). Перетасування означає зміну положення елементів послідовності. Тут виконується операція перетасування.
Python3
# 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> (> '
After the first shuffle : '> )> print> (sample_list)> # second shuffle> random.shuffle(sample_list)> print> (> '
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()
Функція uniform() використовується для генерації випадкового числа Python із плаваючою комою між числами, згаданими в її аргументах. Він приймає два аргументи, нижню межу (включено в генерацію) і верхню межу (не включено в генерацію).
Python3
# 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> (> '
'> )> # 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> (> '
'> )> # 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