Jump to content

Python

  • entries
    53
  • comments
    0
  • views
    405

Sözde Rastgele Sayı Üretimi


Doğuhan ELMA

59 views

Bilgisayarlarda kullanılan rastgele sayı üreticileri genellikle gerçekten rastgele değillerdir. Bunun yerine, deterministik (yani, belirli bir girdi verildiğinde her zaman aynı çıktıyı üreten) algoritmalar kullanırlar ve ürettikleri sayılar "rastgele" gibi görünür. Bu tür rastgele sayı üreticilerine "pseudo-rastgele sayı üreteci" (PRNG) denir.

Python'da random modülü, çeşitli türlerde pseudo-rastgele sayılar üretmek için bir dizi işlev sağlar. Bu işlevlerin çoğu, Mersenne Twister algoritması adı verilen bir PRNG kullanır.

İşte random modülünün bazı işlevlerine birkaç örnek:

random.random(): 0.0 ile 1.0 arasında rastgele bir float sayı üretir.

random.uniform(a, b): a ve b arasında rastgele bir float sayı üretir.

random.randint(a, b): a ve b arasında rastgele bir tam sayı üretir (her iki uç da dahil).

random.choice(seq): Bir dizi veya liste olan seq'den rastgele bir öğe seçer.

random.shuffle(seq): Bir dizi veya listeyi rastgele karıştırır.

Örneğin:

import random

print(random.random())
print(random.uniform(1, 10))
print(random.randint(1, 10))

my_list = [1, 2, 3, 4, 5]
print(random.choice(my_list))
random.shuffle(my_list)
print(my_list)

PRNG'ler, genellikle bilgisayar simülasyonlarında, istatistiksel örnekleme yöntemlerinde, şifreleme algoritmalarında ve daha birçok yerde kullanılır. Ancak, çıktılarının tahmin edilebilir olduğu için (yani, aynı başlangıç durumundan başladığınızda her zaman aynı "rastgele" sayıları üretirler), genellikle güvenlik açısından kritik uygulamalar için uygun değillerdir. Bu tür durumlar için, donanım tabanlı rastgelelik kaynakları veya kriptografik olarak güvenli pseudo-rastgele sayı üreteçleri kullanılır.

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...