Random moduli bilan tanishuv


ULASHISH

Tasodifiy son nima?

Tasodifiy son har safar boshqa son degani EMAS. Tasodifiy — mantiqan oldindan aytib bo‘lmaydigan narsa demakdir.

Psevdotasodifiy va haqiqiy tasodifiy.

Kompyuterlar dasturlar asosida ishlaydi, dasturlar esa aniq ko‘rsatmalar to‘plamidir. Demak, tasodifiy son hosil qilish uchun ham qandaydir algoritm bo‘lishi kerak.

Agar tasodifiy son hosil qiladigan dastur bo‘lsa, uni oldindan aytish mumkin, demak, u haqiqatan ham tasodifiy emas.

Generatsiya algoritmi orqali hosil qilingan tasodifiy sonlar psevdotasodifiy (pseudo random) sonlar deb ataladi.

Haqiqiy tasodifiy sonlarni yaratish mumkinmi?

Ha. Kompyuterlarimizda haqiqiy tasodifiy son hosil qilish uchun tasodifiy ma’lumotlarni qandaydir tashqi manbadan olishimiz kerak. Bu tashqi manba odatda klaviatura tugmalarini bosishimiz, sichqoncha harakatlari, tarmoqdagi ma’lumotlar va hokazo bo‘ladi.

Agar gap xavfsizlik (masalan, shifrlash kalitlari) haqida bormasa yoki ilovaning asosi tasodifiylik bo‘lmasa (masalan, raqamli ruletka g‘ildiraklari), bizga haqiqiy tasodifiy sonlar kerak emas.

Ushbu darslikda biz psevdotasodifiy sonlardan foydalanamiz.


Tasodifiy son hosil qilish

NumPy tasodifiy sonlar bilan ishlash uchun random modulini taklif etadi.

Misol

0 dan 100 gacha tasodifiy butun son hosil qiling:

from numpy import random x = random.randint(100) print(x)
O‘zingiz sinab ko‘ring »

Tasodifiy float son hosil qilish

random modulining rand() metodi 0 va 1 oralig‘idagi tasodifiy float sonni qaytaradi.

Misol

0 dan 1 gacha tasodifiy float son hosil qiling:

from numpy import random x = random.rand() print(x)
O‘zingiz sinab ko‘ring »


Tasodifiy massiv hosil qilish

NumPyda biz massivlar bilan ishlaymiz va tasodifiy massivlar yaratish uchun yuqoridagi misollardagi ikkita metoddan foydalanishingiz mumkin.

Butun sonlar

randint() metodi size parametrini qabul qiladi, unda massiv shaklini ko‘rsatishingiz mumkin.

Misol

0 dan 100 gacha bo‘lgan 5 ta tasodifiy butun sonni o‘z ichiga olgan 1-D massiv hosil qiling:

from numpy import random x=random.randint(100, size=(5)) print(x)
O‘zingiz sinab ko‘ring »

Misol

3 qatorli 2-D massiv hosil qiling, har bir qatorda 0 dan 100 gacha bo‘lgan 5 tadan tasodifiy butun son bo‘lsin:

from numpy import random x = random.randint(100, size=(3, 5)) print(x)
O‘zingiz sinab ko‘ring »

Float sonlar

rand() metodi ham massiv shaklini ko‘rsatish imkonini beradi.

Misol

5 ta tasodifiy float sonni o‘z ichiga olgan 1-D massiv hosil qiling:

from numpy import random x = random.rand(5) print(x)
O‘zingiz sinab ko‘ring »

Misol

3 qatorli 2-D massiv hosil qiling, har bir qatorda 5 tadan tasodifiy son bo‘lsin:

from numpy import random x = random.rand(3, 5) print(x)
O‘zingiz sinab ko‘ring »

Massivdan tasodifiy son hosil qilish

choice() metodi qiymatlar massivi asosida tasodifiy qiymat hosil qilish imkonini beradi.

choice() metodi parametr sifatida massivni qabul qiladi va uning qiymatlaridan birini tasodifiy tarzda qaytaradi.

Misol

Massivdagi qiymatlardan birini qaytaring:

from numpy import random x = random.choice([3, 5, 7, 9]) print(x)
O‘zingiz sinab ko‘ring »

choice() metodi qiymatlar massivini qaytarish imkonini ham beradi.

Massiv shaklini ko‘rsatish uchun size parametrini qo‘shing.

Misol

Massiv parametridagi qiymatlardan (3, 5, 7 va 9) iborat 2-D massiv hosil qiling:

from numpy import random x = random.choice([3, 5, 7, 9], size=(3, 5)) print(x)
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!