Выпадковыя лікі могуць быць згенераваныя з дапамогай функцый random(), uniform(), randange() і randint() у модулі random стандартнай бібліятэкі Python.
Выпадковы модуль уключаны ў стандартную бібліятэку, таму дадатковая ўстаноўка не патрабуецца. Вядома, трэба імпартаваць.
Тут прадстаўлена наступная інфармацыя.
random.random()
(Лік з плаваючай кропкай ад 0,0 да 1,0)random.uniform()
(Любы дыяпазон лікаў з плаваючай кропкай)- Стварэнне выпадковых лікаў, якія ідуць за нармальным размеркаваннем, размеркаваннем Гаўса і г.д.
random.randrange()
(Цэлы лік адвольнага дыяпазону і кроку)random.randint()
(Цэлы лік у любым дыяпазоне)- Стварэнне спісу з выпадковымі лікамі ў якасці элементаў
- Спіс выпадковых лікаў з плаваючай кропкай
- Спіс цэлых выпадковых лікаў
- Ініцыялізаваць генератар выпадковых лікаў (выправіць насенне выпадковых лікаў)
Глядзіце наступны артыкул аб тым, як выпадковым чынам здабываць або сартаваць элементы спісу.
- Падобныя артыкулы:Выбар выпадковых элементаў са спісу ў Python з дапамогай selection(), sample(), choices()
- random.random()(Лік з плаваючай кропкай ад 0,0 да 1,0)
- random.uniform()(Любы дыяпазон лікаў з плаваючай кропкай)
- Стварэнне выпадковых лікаў, якія ідуць за нармальным размеркаваннем, размеркаваннем Гаўса і г.д.
- random.randrange()(Цэлы лік адвольнага дыяпазону і кроку)
- random.randint()(Цэлы лік у любым дыяпазоне)
- Стварэнне спісу з выпадковымі лікамі ў якасці элементаў
- Ініцыялізаваць генератар выпадковых лікаў (выправіць насенне выпадковых лікаў)
random.random()(Лік з плаваючай кропкай ад 0,0 да 1,0)
Функцыя random модуля random() генеруе выпадковы лік з плаваючай кропкай тыпу float, які знаходзіцца паміж 0,0 і 1,0.
import random
print(random.random())
# 0.4496839011176701
random.uniform()(Любы дыяпазон лікаў з плаваючай кропкай)
uniform(a, b)
Функцыі гэтага выпадковага модуля генеруюць выпадковыя лікі тыпу з плаваючай кропкай у любым з наступных дыяпазонаў
a <= n <= b
b <= n <= a
import random
print(random.uniform(100, 200))
# 175.26585048238275
Два аргументы могуць быць як большымі, так і меншымі; калі яны роўныя, яны, натуральна, вернуць толькі гэтае значэнне. Зваротнае значэнне заўсёды з’яўляецца float.
print(random.uniform(100, -100))
# -27.82338731501028
print(random.uniform(100, 100))
# 100.0
Аргумент таксама можа быць зададзены як float.
print(random.uniform(1.234, 5.637))
# 2.606743596829249
Ці будзе значэнне b уключана ў дыяпазон, залежыць ад наступнага акруглення, як дакументальна.a + (b-a) * random.random()
Ці знаходзіцца значэнне канчатковай кропкі b у дыяпазоне ці не, залежыць ад акруглення з плаваючай кропкай у наступным раўнанні
a + (b-a) * random()
random.uniform() — Generate pseudo-random numbers — Python 3.10.2 Documentation
Стварэнне выпадковых лікаў, якія ідуць за нармальным размеркаваннем, размеркаваннем Гаўса і г.д.
Функцыі random() і uniform() вышэй генеруюць раўнамерна размеркаваныя выпадковыя лікі, але ёсць таксама функцыі для генерацыі лікаў з плаваючай кропкай, якія ідуць за наступным размеркаваннем.
- бэта-дыстрыбутыва:
random.betavariate()
- экспанентнае размеркаванне:
random.expovariate()
- гама размеркаванне:
random.gammavariate()
- Гаўсавае размеркаванне:
random.gauss()
- лаганармальнае размеркаванне:
random.lognormvariate()
- нармальнае размеркаванне:
random.normalvariate()
- Размеркаванне фон Мізеса:
random.vonmisesvariate()
- Размеркаванне Парэта:
random.paretovariate()
- Размеркаванне Вейбула:
random.weibullvariate()
Параметры кожнага размеркавання задаюцца аргументамі. Падрабязнасці глядзіце ў афіцыйнай дакументацыі.
random.randrange()(Цэлы лік адвольнага дыяпазону і кроку)
randrange(start, stop, step)
Функцыя гэтага выпадковага модуля вяртае выпадкова выбраны элемент з наступных элементаў.range(start, stop, step)
Як і з дыяпазонам (), аргументы запуску і крок можа быць прапушчаны. Калі яны апушчаны, пачаць = 0 і крок = 1.
import random
print(list(range(10)))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(random.randrange(10))
# 5
Крок аргументу можа быць усталяваны для генерацыі цотнага або няцотнага выпадковага цэлага або выпадковага цэлага ліку, кратнага тром.
Напрыклад, калі пачатак цотны і крок=2, толькі цотныя цэлыя лікі ў дыяпазоне можна атрымаць выпадковым чынам.
print(list(range(10, 20, 2)))
# [10, 12, 14, 16, 18]
print(random.randrange(10, 20, 2))
# 18
random.randint()(Цэлы лік у любым дыяпазоне)
randint(a, b)
Функцыя гэтага выпадковага модуля вяртае наступнае выпадковае цэлае цэлае.a <= n <= b
randrange(a, b + 1)
Эквівалентна гэтаму; звярніце ўвагу, што значэнне b таксама ўваходзіць у дыяпазон.
print(random.randint(50, 100))
# print(random.randrange(50, 101))
# 74
Стварэнне спісу з выпадковымі лікамі ў якасці элементаў
У гэтым раздзеле мы растлумачым, як выкарыстоўваць модуль random стандартнай бібліятэкі для стварэння спісу з выпадковымі лікамі ў якасці элементаў.
Спіс выпадковых лікаў з плаваючай кропкай
Каб стварыць спіс, элементамі якога з’яўляюцца выпадковыя лікі з плаваючай кропкай, аб’яднайце функцыі random() і uniform() з запісам для разумення спісу.
import random
print([random.random() for i in range(5)])
# [0.5518201298350598, 0.3476911314933616, 0.8463426180468342, 0.8949046353303931, 0.40822657702632625]
У прыведзеным вышэй прыкладзе выкарыстоўваецца range(), але таксама магчымыя спісы і картэжы для патрэбнай колькасці элементаў. Для больш падрабязнай інфармацыі аб разуменні спісу, калі ласка, звярніцеся да наступнага артыкула.
- Падобныя артыкулы:Выкарыстанне абазначэння разумення спісу Python
Спіс цэлых выпадковых лікаў int
Пры генерацыі спісу, элементамі якога з’яўляюцца цэлыя выпадковыя лікі, спалучэнне вышэйзгаданых randange() і randint() з абазначэннем разумення спісу можа прывесці да паўтаральных значэнняў.
print([random.randint(0, 10) for i in range(5)])
# [8, 5, 7, 10, 7]
Калі вы хочаце стварыць выпадковую паслядоўнасць цэлых лікаў без дублявання, здабудзьце элементы range() з адвольным дыяпазонам з дапамогай random.sample().
print(random.sample(range(10), k=5))
# [6, 4, 3, 7, 5]
print(random.sample(range(100, 200, 10), k=5))
# [130, 190, 140, 150, 170]
Для атрымання дадатковай інфармацыі аб random.sample(), калі ласка, звярніцеся да наступнага артыкула.
- Падобныя артыкулы:Выбар выпадковых элементаў са спісу ў Python з дапамогай selection(), sample(), choices()
Ініцыялізаваць генератар выпадковых лікаў (выправіць насенне выпадковых лікаў)
Даючы адвольнае цэлае лік у функцыю seed() выпадковага модуля), можна зафіксаваць выпадковыя нумары і ініцыялізаваць генератар выпадковых лікаў.
Пасля ініцыялізацыі з адным і тым жа семенем выпадковае значэнне заўсёды генеруецца аднолькава.
random.seed(0)
print(random.random())
# 0.8444218515250481
print(random.random())
# 0.7579544029403025
random.seed(0)
print(random.random())
# 0.8444218515250481
print(random.random())
# 0.7579544029403025