Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Python 3: ГСнСрация случайных чисСл (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ random)ΒΆ

«ГСнСрация случайных чисСл слишком Π²Π°ΠΆΠ½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Ρ‘ Π½Π° волю случая»

Python ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ случайныС числа Π½Π° основС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π½Π° самом Π΄Π΅Π»Π΅ случайныС, Π°, ΠΊΠ°ΠΊ говорят, псСвдослучайныС [1]. Π­Ρ‚ΠΎΡ‚ способ ΡƒΠ΄ΠΎΠ±Π΅Π½ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Π·ΠΈΠ½ΠΎ) [2].

[1]ВикипСдия: Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ псСвдослучайных чисСл
[2]Доусон М. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ Π½Π° Python. β€” БПб.: ΠŸΠΈΡ‚Π΅Ρ€, 2014. β€” 416 с.: ΠΈΠ». β€” 3-Π΅ ΠΈΠ·Π΄

ΠœΠΎΠ΄ΡƒΠ»ΡŒ random позволяСт Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случайныС числа. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции:

random.randomΒΆ

random.random() β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ псСвдослучайноС число ΠΎΡ‚ 0.0 Π΄ΠΎ 1.0

random.seedΒΆ

random.seed( ) β€” настраиваСт Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСмноС врСмя. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ΠΎΠΊΠΈΠΌ, Ρ‚ΠΎ гСнСрируСтся ΠΎΠ΄ΠΈΠ½ΠΎΠΊΠΎΠ΅ число:

random.uniformΒΆ

random.randintΒΆ

random.choinceΒΆ

random.choince( ) β€” Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайный элСмСнт ΠΈΠ· любой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (строки, списка, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°):

random.randrangeΒΆ

random.shuffleΒΆ

random.shuffle( ) β€” ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (измСняСтся сама ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ функция Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для нСизмСняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ВСроятностныС распрСдСлСния¢

random.expovariate(lambd) β€” ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС. lambd Ρ€Π°Π²Π΅Π½ 1/срСднСС ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅. Lambd Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ нуля. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния ΠΎΡ‚ 0 Π΄ΠΎ плюс бСсконСчности, Ссли lambd ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ ΠΎΡ‚ минус бСсконСчности Π΄ΠΎ 0, Ссли lambd ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ.

random.gauss(Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, стандартноС ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅) β€” распрСдСлСниС Гаусса.

random.normalvariate(mu, sigma) β€” Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС. mu β€” срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, sigma β€” стандартноС ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅.

random.vonmisesvariate(mu, kappa) β€” mu β€” срСдний ΡƒΠ³ΠΎΠ», Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΉ Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ… ΠΎΡ‚ 0 Π΄ΠΎ 2Ο€, ΠΈ kappa β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ. Если ΠΊΠ°ΠΏΠΏΠ° Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ, это распрСдСлСниС сводится ΠΊ случайному ΡƒΠ³Π»Ρƒ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 2Ο€.

random.paretovariate(alpha) β€” распрСдСлСниС ΠŸΠ°Ρ€Π΅Ρ‚ΠΎ.

random.weibullvariate(alpha, beta) β€” распрСдСлСниС Π’Π΅ΠΉΠ±ΡƒΠ»Π»Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ΒΆ

ГСнСрация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ пароля¢

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΈΠ· 6 символов, Π² Π½Ρ‘ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρ‹, строчныС ΠΈ прописныС Π±ΡƒΠΊΠ²Ρ‹. ΠŸΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π΅Ρ†Π΅ΠΏΡ‚Ρƒ:

Π­Ρ‚ΠΎΡ‚ ΠΆΠ΅ скрипт ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всСго Π² Π΄Π²Π΅ строки:

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° являСтся ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ записью Ρ†ΠΈΠΊΠ»Π° for, вмСсто Π½Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π”Π°Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» повторяСтся 12 Ρ€Π°Π· ΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΡ€ΡƒΠ³Π΅ добавляСт ΠΊ строкС psw ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт ΠΈΠ· списка.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Random Python

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ сталкиваСтся со ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒΡŽ. ВикипСдия Π½Π°ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ β€” это Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ маловСроятного ΠΈΠ»ΠΈ нСпрСдсказуСмого события. НСпрСдсказуСмого. Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, Ρ‡Π΅ΠΌ слоТнСС систСма, Ρ‚Π΅ΠΌ Π½ΠΈΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ) Π΅Ρ‘ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ состояния. ΠœΠΈΡ€ слоТСн ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ-этому ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ встрСчаСтся ΡΡ‚ΠΎΠ»ΡŒ часто. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ всС события, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΎ случайном – это Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ ΠΎ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Но эту Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ научился ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСбС Π½Π° ΠΏΠΎΠ»ΡŒΠ·Ρƒ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, случайныС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ.

Π’ языкС Python Π΅ΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со случайными значСниями. Π Π΅Ρ‡ΡŒ ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ random (ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ Π½Ρ‘ΠΌ). Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ!

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ random Π² Python

Для Π½Π°Ρ‡Π°Π»Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π°Π΄ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля random

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число β€” randint() функция random

Π‘Π°ΠΌΠΎΠ΅ частоС ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ модуля β€” гСнСрация случайных чисСл. Бамая популярная функция для этого β€” randint().

Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайноС Ρ†Π΅Π»ΠΎΠ΅ число, Π»Π΅ΠΆΠ°Ρ‰Π΅Π΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Оба Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами.

ГСнСрация случайного Ρ†Π΅Π»ΠΎΠ³ΠΎ числа β€” randrange()

Ѐункция randrange() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайного Ρ†Π΅Π»ΠΎΠ³ΠΎ числа Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ randint() Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ здСсь Π΅ΡΡ‚ΡŒ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ – шаг, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½Ρ‹ΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅.

Π’Ρ‹Π±ΠΎΡ€ случайного элСмСнта ΠΈΠ· списка choice()

Π’Ρ‹ ΠΈΠ³Ρ€Π°Π»ΠΈ Π² дСтствС Π² «считалочки»? Π­Π½ΠΈΠΊΠΈ-бСники… Π’ΠΎΡ‚ этим ΠΈ занимаСтся random.choice(): функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ случайный элСмСнт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Ѐункция sample()

random.sample() примСняСтся, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ нСсколько элСмСнтов ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΈΠ· исходной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π΅Ρ€Π½Ρ‘Ρ‚ функция, задаётся Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ k.

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ элСмСнты ΠΈΠ· списка β€” choices()

random.choices Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ random.sample(), Π½ΠΎ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ псСвдослучайных чисСл β€” seed()

ΠœΠ΅Ρ‚ΠΎΠ΄ seed() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° псСвдослучайных чисСл Π² Python. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ псСвдослучайных чисСл Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ исходноС число ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ это число ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ seed Π½Π΅ установлСно, Ρ‚ΠΎΠ³Π΄Π° систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… β€” shuffle()

ΠœΠ΅Ρ‚ΠΎΠ΄ random.shuffle() примСняСтся для расстановки элСмСнтов ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² случайном порядкС. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΡƒ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠ°Ρ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹. ВстряхнитС Π΅Ρ‘ πŸ™‚

Π“Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой β€” uniform()

random.uniform() ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° randint(), Π½ΠΎ примСняСтся для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅.

Ѐункция triangular()

Ѐункция random.triangular() позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ – ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайноС число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ соотвСтствуСт Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‚ΠΎΡ‡Π½ΡΡŽΡ‰Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ mode. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π·Π²Π΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ½ находится посСрСдинС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π·Π°ΡˆΠΈΡ‚Π° Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ числа, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ модуля random Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ криптографичСски устойчивыми. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π½Π°Π»ΠΈΠ· позволяСт ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅ число Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрировано ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ.

Π•Π³ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° псСвдослучайных чисСл ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ random, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для модСлирования ΠΈ симуляции, Π° Π½Π΅ бСзопасности ΠΈΠ»ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ.

Numpy.random β€” Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ псСвдослучайных чисСл

Π‘Π°ΠΌΡ‹ΠΉ простой способ Π·Π°Π΄Π°Ρ‚ΡŒ массив со случайными элСмСнтами β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sample (ΠΈΠ»ΠΈ random, ΠΈΠ»ΠΈ random_sample, ΠΈΠ»ΠΈ ranf β€” это всё ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ функция).

Π‘Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ просто число Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ΅ [0, 1), с ΠΎΠ΄Π½ΠΈΠΌ Ρ†Π΅Π»Ρ‹ΠΌ числом β€” ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, с ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΌ β€” массив с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ (всС числа β€” ΠΈΠ· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° [0, 1)).

ГСнСрация случайного n-ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива вСщСствСнных чисСл

numpy.random.rand()примСняСтся для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ массива случайных вСщСствСнных чисСл Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ числа согласно Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ распрСдСлСниям (Гаусса, ΠŸΠ°Ρ€Π΅Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅). Π§Π°Ρ‰Π΅ всСго Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ распрСдСлСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ uniform.

Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Numpy.

ГСнСрация случайного n-ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Ρ†Π΅Π»Ρ‹Ρ… чисСл

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ randint ΠΈΠ»ΠΈ random_integers ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΈΠ· Ρ†Π΅Π»Ρ‹Ρ… чисСл. АргумСнты: low, high, size: ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ, Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ числа (randint Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя это число, Π° random_integers Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚), ΠΈ size β€” Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ массива.

Π’Ρ‹Π±ΠΎΡ€ случайного элСмСнта ΠΈΠ· массива чисСл ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Ѐункция NumPy random.choice() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния случайных Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ возвращаСтся ΠΊΠ°ΠΊ случайныС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ массива NumPy. Π­Ρ‚Π° функция Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ случайныС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² статистикС Π΄Π°Π½Π½Ρ‹Ρ…, Π°Π½Π°Π»ΠΈΠ·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, полях, связанных с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² машинном ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ, байСсовской статистикС ΠΈ Ρ‚. Π΄.

ГСнСрация случайных ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ID

Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Π°ΠΊΠΆΠ΅ извСстныС ΠΊΠ°ΠΊ UUID, β€” это 128-Π±ΠΈΡ‚Π½Ρ‹Π΅ числа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… систСмах. UUID ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для обозначСния ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра элСмСнтов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, сСансы, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹, сущности ΠΈ Ρ‚. Π”. Π˜Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π½Π° основС систСмного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ сСтСвого адрСса ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ UUID нСизмСняСм ΠΈ содСрТит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².

UUID состоит ΠΈΠ· пяти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ. Π‘ΠΈΠΌΠ²ΠΎΠ» дСфиса раздСляСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ UUID Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Β«8-4-4-4-12Β», Π³Π΄Π΅ каТдая ΠΈΠ· Ρ†ΠΈΡ„Ρ€ прСдставляСт Π΄Π»ΠΈΠ½Ρƒ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

UUID Python, сгСнСрированный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ uuid4(), создаСтся с использованиСм истинно случайного ΠΈΠ»ΠΈ псСвдослучайного Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ повторСния Π΄Π²ΡƒΡ… Π³ΡƒΠΈΠ΄ΠΎΠ² Π½Π΅Π²Π΅Π»ΠΈΠΊΠ°. Когда UUID Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… ΠΈΠ»ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ бСзопасныС UUID, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ UUID4 (). Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ криптографичСски бСзопасных случайных чисСл.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ΅ число

Как ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки программирования, Python позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ случайных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π‘ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… чисСл ΠΈΠ»ΠΈ символов, ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Для этой Ρ†Π΅Π»ΠΈ Π² Python примСняСтся встроСнная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° с мноТСством ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для управляСмой Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ случайныС числа?

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ числа ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ автоматичСской Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Подобная информация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²ΠΈΠ΄Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с нСпрСдсказуСмыми Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ. Π―Ρ€ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚ΠΎΠΌΡƒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Ρ‹ Π»ΠΈΠ±ΠΎ ΠΊΠ°Π·ΠΈΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· гСнСрируСтся новая Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ½Π°Ρ комбинация чисСл. Π’Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ примСняСтся Π² криптографичСских цСлях для создания Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ.

Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ стандартныС срСдства Python Π½Π΅ способны ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ истинно случайныС значСния. Они ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ псСвдо ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ½Π° ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ случайного числа. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ числом, Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ этого Π½Π΅ Π±Ρ‹Π»ΠΎ, для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ бСрСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ систСмных часов.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ псСвдослучайных Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ с ΠΈΠ½ΠΈΡ†ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΡ‚ систСмных часов.

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ случайных чисСл Π² Python

Π―Π·Ρ‹ΠΊ программирования Python содСрТит Π² сСбС нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, примСняСмых для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ псСвдослучайных Π²Π΅Π»ΠΈΡ‡ΠΈΠ½. ВсС ΠΎΠ½ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² своих цСлях Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ систСмноС врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ установлСно Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ. Π‘Ρ€Π΅Π΄ΠΈ инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с псСвдослучайными числами, находится довольно ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° random, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ numpy.random ΠΈ os.urandom.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈΡ… примСнСния:

НаиболСС ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π² Python Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° random. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π»Π΅Π΅ ΠΌΡ‹ Π΅Π΅ ΠΈ рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ random

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π³Π΄Π΅ описаны самыС Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ модуля, входящСго Π² состав стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Python. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ доступный ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² с нСбольшой характСристикой.

ΠœΠ΅Ρ‚ΠΎΠ΄Π₯арактСристика
random()Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 1
seed(a)настаиваСт Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ a
randint(a, b)Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ a ΠΈ b
randrange(a, b, c)Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ a Π΄ΠΎ b с шагом c
uniform(a, b)Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ вСщСствСнноС число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ a ΠΈ b
shuffle(a)ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ значСния Π² спискС a
choice(a)Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайный элСмСнт ΠΈΠ· списка a
sample(a, b)Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π»ΠΈΠ½ΠΎΠΉ b ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° a
getstate()Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°
setstate(a)восстанавливаСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° a
getrandbits(a)Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ a случайно сгСнСрированных Π±ΠΈΡ‚
triangular(a, b, c)Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ вСщСствСнноС число ΠΎΡ‚ a Π΄ΠΎ b с распрСдСлСниСм c

Π—Π΄Π΅ΡΡŒ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ seed. Она ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ примСняСтся для задания ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ числа псСвдо случайной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ seed Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, бСрСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ систСмного Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π­Ρ‚Π° функция вызываСтся Π² конструкторС класса Random.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. А Ρ‚Π°ΠΊ ΠΆΠ΅ Π² ΠΊΠΎΠ½Ρ†Π΅ рассмотрим ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ SystemRandom.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ возмоТностями Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл Π² Python 3, слСдуСт произвСсти ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ random, вынСся Π΅Π΅ Π² Π½Π°Ρ‡Π°Π»ΠΎ исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова import.

ВСщСствСнныС числа

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π΅ΡΡ‚ΡŒ одноимСнная функция random. Π’ Python ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ этого модуля. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ вСщСствСнноС число Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ΅ ΠΎΡ‚ 0 Π΄ΠΎ 1. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ дСмонстрируСтся созданиС Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… a, b ΠΈ c.

Π¦Π΅Π»Ρ‹Π΅ числа

Для получСния случайных Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция randint, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: минимальноС ΠΈ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, показанная Π½ΠΈΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ΅ ΠΎΡ‚ 0 Π΄ΠΎ 9.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Ρ†Π΅Π»Ρ‹Ρ…

ΠœΠ΅Ρ‚ΠΎΠ΄ randrange позволяСт Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ цСлочислСнныС значСния, благодаря Ρ€Π°Π±ΠΎΡ‚Π΅ с трСмя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ: минимальная ΠΈ максимальная Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π»ΠΈΠ½Π° шага. Π’Ρ‹Π·Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΎΠ΄Π½ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» станСт Ρ€Π°Π²Π΅Π½ 1. Для Π΄Π²ΡƒΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² автоматичСски инициализируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π»ΠΈΠ½Π° шага. Π Π°Π±ΠΎΡ‚Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с Ρ‚Ρ€Π΅ΠΌΠ° Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ вСщСствСнных

Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вСщСствСнноС число ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ uniform. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ всСго Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΡ… минимальноС ΠΈ максимальноС значСния. ДСмонстрация Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ располагаСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ a, b ΠΈ c.

ИспользованиС Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…

ВозмоТности Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ псСвдослучайных чисСл ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ для создания ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° создаСтся Π½Π°Π±ΠΎΡ€ чисСл ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списка со случайным Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ. Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция randint вызываСтся Π΄Π²Π°ΠΆΠ΄Ρ‹: для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° списка.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅

ΠœΠ΅Ρ‚ΠΎΠ΄ shuffle Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ содСрТимоС ΡƒΠΆΠ΅ созданного списка. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, всС Π΅Π³ΠΎ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ случайном порядкС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ отобраТаСтся Ρ€Π°Π±ΠΎΡ‚Π° этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ со списком a ΠΈΠ· 10 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, располагаСтся дальшС.

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΉ элСмСнт списка

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ choice ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ случайный элСмСнт ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСрСмСнная b ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число ΠΈΠ· списка a.

НСсколько элСмСнтов списка

Π˜Π·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ элСмСнт, Π½ΠΎ ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Ѐункция sample ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ список чисСл ΠΈΠ· случайных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ списка. Π’ качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° Π½Π° мСстС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ массива.

ГСнСрация Π±ΡƒΠΊΠ²

ВозмоТности стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа, Π½ΠΎ ΠΈ Π±ΡƒΠΊΠ²Ρ‹. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ показываСтся инициализация Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… случайными символами Π»Π°Ρ‚ΠΈΠ½ΠΈΡ†Ρ‹. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ произвСсти ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ модуля string, Π° Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ списком letters, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС Π±ΡƒΠΊΠ²Ρ‹ английского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.

Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹ Π² Ρ€Π°Π·Π½ΠΎΠΌ рСгистрС. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π²ΠΈΠ΄Ρƒ, рСкомСндуСтся Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ стандартныС строковыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ upper ΠΈΠ»ΠΈ lower.

SystemRandom

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, SystemRandom основана Π½Π° os.urandom. Она Π²Ρ‹Π΄Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ псСвдослучайныС Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΎΠ½ΠΈ зависят Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. Π•ΡΡ‚ΡŒ нСдостаток β€” Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SystemRandom ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π² нСсколько Ρ€Π°Π· дольшС. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, язык программирования Python содСрТит массу встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ случайных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, входящих Π² стандартный Π½Π°Π±ΠΎΡ€ инструмСнтов ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Благодаря Π΄Π°Π½Π½Ρ‹ΠΌ функциям ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ условия, Π° Ρ‚Π°ΠΊΠΆΠ΅ ограничСния для своих Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ random. ГСнСрация случайных чисСл

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’ процСссС программирования Π½Π° Python ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ случайноС число. О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ псСвдослучайных чисСл ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅. Π‘ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ популярныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ random для Python 3 ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ значСния случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (randomly).

Π’ качСствС лиричСского отступлСния слСдуСт ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ, согласно спСцификС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ состояния Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Python ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ random позволяСт ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ случайный, Π° псСвдослучайный элСмСнт, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ значСния ΠΈ ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° основС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹. Π Π°Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΎΠ½Π° Π½Π΅ являСтся случайной Π² ΠΏΠΎΠ»Π½ΠΎΠΌ смыслС этого слова. Если Π½ΡƒΠΆΠ½Π° истинная ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ, гСнСрация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это слишком Π΄ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ слоТно, Π΄Π° ΠΈ Π½Π΅ всСгда экономичСски цСлСсообразно, вСдь для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ программирования Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡƒΡ‚ ΠΈ псСвдослучайныС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ (Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ Π½Π΅ ΠΏΡ€ΠΎ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΠ°Π·ΠΈΠ½ΠΎ). Π’Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ этому, ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ (randomness) β€” Π²Π΅Ρ‰ΡŒ капризная, поэтому, ΠΊΠ°ΠΊ Ρ‚ΡƒΡ‚ Π½Π΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ прСкрасноС высказываниС амСриканского ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π ΠΎΠ±Π΅Ρ€Ρ‚Π° Кавью:

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Π’Π°ΠΊΠΆΠ΅ Π½Π° ΡƒΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ интСрСсноС высказываниС, Π½ΠΎ ΡƒΠΆΠ΅ ΠΎΡ‚ Π²Ρ‹Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ пСрсонаТа ΠΈ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡƒΠΊΠ»ΠΎΠ½ΠΎΠΌ Π² Ρ„ΠΈΠ»ΠΎΡΠΎΡ„ΠΈΡŽ:

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ random Π² Python

Π’ языкС программирования Β«ΠŸΠ°ΠΉΡ‚ΠΎΠ½Β» ΠΌΠΎΠ΄ΡƒΠ»ΡŒ random позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ псСвдослучайных чисСл для Ρ€Π°Π·Π½Ρ‹Ρ… распрСдСлСний, ΠΊΡƒΠ΄Π° входят ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ (integers), Ρ‚Π°ΠΊ ΠΈ вСщСствСнныС числа, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

ΠžΠ±Ρ‰ΠΈΠΉ список ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ random, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅. Π’ΡƒΡ‚ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π½Π° основС Ρ€Π°Π·Π½Ρ‹Ρ… распрСдСлСний (распрСдСлСниС ΠŸΠ°Ρ€Π΅Ρ‚ΠΎ, распрСдСлСниС Π’Π΅ΠΉΠ±ΡƒΠ»Π»Π° ΠΈ Ρ‚. Π΄.), Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит ΠΎΡ‚ области примСнСния Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных чисСл (статистика, тСория вСроятности).

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Но ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² распрСдСлСния, Π° рассмотрим самыС простыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. А Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ нСинтСрСсно, Π΄Π°Π²Π°ΠΉΡ‚Π΅ попрактикуСмся ΠΈ выясним, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Π΄Π΅Π»Π΅.

random.random

Π£ модуля random Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄-Ρ‚Π΅Π·ΠΊΠ° β€” функция random. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайноС число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0 β€” 1.0:

print(«Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ случайноС число с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ random.random():»)

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Если Π²Ρ‹ скопируСтС этот ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠΎΠ΄ сСбС (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΎΠ½Π»Π°ΠΉΠ½-компилятор), Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число.

Π’Π°ΠΊΠΆΠ΅ вывСсти ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΠ΄Π½ΠΎ, Π°, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ‚Ρ€ΠΈ (three) числа (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ for i in range), ΠΏΡ€ΠΈΡ‡Π΅ΠΌ прСкрасным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π΄ΠΎ Π΄Π²ΡƒΡ… Π·Π½Π°ΠΊΠΎΠ² послС запятой (Π·Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ β€˜%.2f’):

print(«Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ 3 случайных числа; Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 2 Π·Π½Π°ΠΊΠΎΠ² послС запятой:»)

print([‘%.2f’ % random.random() for i in range(3)])

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

random.seed

ΠœΠ΅Ρ‚ΠΎΠ΄ seed ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ слоТным для понимания. Ѐишка Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ псСвдослучайных чисСл, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹Π΄Π°Ρ‡Π° этих чисСл происходит Π² соотвСтствии с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ. Алгоритм вычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° основС Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ числа, Π½ΠΎ это число бСрСтся Π½Π΅ с ΠΏΠΎΡ‚ΠΎΠ»ΠΊΠ° β€” ΠΎΠ½ΠΎ вычисляСтся Π½Π° основании Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ систСмного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠ΄ΠΎΠ², рассмотрСнных Π²Ρ‹ΡˆΠ΅, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½ΠΎΠ²Ρ‹Π΅ числа.

Если ΠΆΠ΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ seed с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, Ρ‚ΠΎ вычислСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° основании этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Π˜Ρ‚ΠΎΠ³ β€” Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ «случайныС» значСния. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ 5 ΠΈ сдСлаСм Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» Π΄Π²Π°ΠΆΠ΄Ρ‹:

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

random.uniform

Π‘ uniform всС ΠΏΡ€ΠΎΡ‰Π΅: возвращаСтся псСвдослучайноС вСщСствСнноС число, находящССся Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ указываСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ:

print(«ΠΠ°Ρ…ΠΎΠ΄ΠΈΠΌ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅:»)

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

random.randint

Randint Π² Python Ρ‚ΠΎΠΆΠ΅ позволяСт Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ псСвдослучайноС число Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Π½ΠΎ Ρ‚ΡƒΡ‚ ΡƒΠΆΠ΅ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ†Π΅Π»ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ (int, integer):

print(«Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ randint для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа int ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°:»)

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

random.randrange

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ randrange, ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ randint, Π½ΠΎ Ρ‚ΡƒΡ‚, ΠΊΡ€ΠΎΠΌΠ΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Ρ†Π΅Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ int, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ шаг Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ (Π² качСствС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°):

print(«Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ случайноС Ρ†Π΅Π»ΠΎΠ΅ число Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ с шагом»)

print(random.randrange(10, 100, 2))

Будя ΠΏΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ Π½ΠΈΠΆΠ΅ ΠΈ Π² соотвСтствии с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ ΠΎΡ‚ 10 Π΄ΠΎ 100, установив шаг 2, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ лишь Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ значСния:

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

random.choice

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ choice позволяСт Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ элСмСнт ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ β€” это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ список, строка, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

И это ΡƒΠΆΠ΅ интСрСснСС, Ρ‚. ΠΊ. Π½Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ аналогия с броском ΠΈΠ³Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΡƒΠ±ΠΈΠΊΠ°:

print(«Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта ΠΈΠ· списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ choice:»)

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΏΠΎΠ²Π΅Π·Π΅Ρ‚ Π»ΠΈ Ρ‚Π°ΠΊ ΠΈ Π²Π°ΠΌ. Но Π²ΠΎΠΎΠ±Ρ‰Π΅, ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†ΠΈΡ„Ρ€ ΠΈ Π΄Π°ΠΆΠ΅ слов.

Π‘Ρ‹Π³Ρ€Π°ΠΉΡ‚Π΅ Π² ΠΈΠ³Ρ€Ρƒ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ³Π°Π΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ язык программирования Π²Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Otus:

print(«ΠšΠ°ΠΊΠΎΠΉ язык программирования Π±ΡƒΠ΄Π΅ΡˆΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒ?»)

Sample ΠΈ choices

Начиная с Python 3.6, появился ΠΌΠ΅Ρ‚ΠΎΠ΄ choices. Π•Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° Π²ΠΎΡ‚ сколько ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ схоТСго ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sample, Π² choices Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€.

ВСрнСмся ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΡƒΠ±ΠΈΠΊΡƒ. Π’ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π° sample:

print («Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π²ΡƒΡ… случайных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:»)

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ВсС Π±Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ, Π½ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ постоянно Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ 2 Ρ€Π°Π·Π½Ρ‹Ρ… значСния. Если ΠΆΠ΅ ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΡΡ‹ΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ бросок Π΄Π²ΡƒΡ… ΠΈΠ³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΡƒΠ±ΠΈΠΊΠΎΠ², ΠΊΠΎΠ΄ придСтся ΠΌΠ΅Π½ΡΡ‚ΡŒ, вСдь Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π²Ρ‹ΠΊΠΈΠ½ΡƒΡ‚ΡŒ Π΄ΡƒΠ±Π»ΡŒ всС-Ρ‚Π°ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ. Но Π·Π°Ρ‡Π΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄, Ссли Π΅ΡΡ‚ΡŒ choices? Он обСспСчит Π²Ρ‹Π²ΠΎΠ΄ Π΄Π²ΡƒΡ… случайных значСния ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ максимально ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΎ ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ броску Π΄Π²ΡƒΡ… ΠΊΡƒΠ±ΠΈΠΊΠΎΠ², ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΡ€ΠΎΡ„ΠΈΡ‚ достигаСтся ΠΈ Π·Π° счСт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ объСм ΠΊΠΎΠ΄Π° Π½Π΅ увСличиваСтся. Π Π°Π΄ΠΈ интСрСса ΠΌΡ‹ Π΅Π³ΠΎ Π΄Π°ΠΆΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΠΈ β€” ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ (List прСвратился Π² l, Π΄Π° ΠΈ лишний тСкст Π²Ρ‹ΠΊΠΈΠ½ΡƒΠ»ΠΈ):

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π²ΠΎΡ‚ ΠΈ Π΄ΡƒΠ±Π»ΡŒ β€” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ [6, 6], ΠΏΡ€ΠΈΡ‡Π΅ΠΌ всСго лишь с 5-ΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° слово):

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠŸΡ€Π°Π²Π΄Π°, Ρ‚ΡƒΡ‚ нюанс: ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½-компилятор, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ компиляторС Python вСрсии 3.6 Π½Π΅ поддСрТивался.

random.shuffle

Ѐункция с интСрСсным Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ shuffle ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, мСняя мСстами значСния (ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для нСизмСняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²). Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выпадСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Π² Π»ΠΎΡ‚ΠΎ.

print («ΠšΡ€ΡƒΡ‚ΠΈΠΌ Π±Π°Ρ€Π°Π±Π°Π½ ΠΈ достаСм ΡˆΠ°Ρ€Ρ‹ Π½Π°ΡƒΠ³Π°Π΄: «, list)

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ английскоС слово shuffle ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«Ρ‚Π°ΡΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΒ». Как Ρ‚ΡƒΡ‚ Π½Π΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΡˆΡƒΠ»Π΅Ρ€Π° ΠΈΠ»ΠΈ Π»ΠΎΠΏΠ°Ρ‚Ρƒ-ΡˆΡƒΡ„Π»ΡŽ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΡ Π±Π΅Ρ‚ΠΎΠ½Π½ΠΎΠ³ΠΎ раствора. Но это Ρ‚Π°ΠΊ, для ΠΎΠ±Ρ‰Π΅Π³ΠΎ развития.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *