logo

Випадкові числа в 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))>

>

>

заблокувати додаток для Android

Вихід:

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>