🎲 random - Rastgele Sayılar
RNG, Distributions, Sampling
45
Fonksiyon
623
Satır
19 KB
Boyut
🚀 Hızlı Başlangıç
içe_aktar random
// Seed ayarla (reproducible results)
random.seed(42)
// Temel RNG
değişken x = random.rand() // [0, 1) arası
değişken y = random.randint(1, 100) // [1, 100] arası tamsayı
değişken z = random.uniform(10.0, 20.0) // [10, 20) arası
// Dağılımlar
değişken normal = random.normal(0.0, 1.0) // μ=0, σ=1
değişken exp = random.exponential(1.5) // λ=1.5
değişken gauss = random.gaussian(100.0, 15.0) // IQ dağılımı
// Diziden seçim
değişken liste = ["elma", "armut", "kiraz", "üzüm"]
değişken seçim = random.choice(liste)
değişken örnek = random.sample(liste, 2) // 2 elemanlı örnek
📚 Kategoriler
- Temel RNG: rand, randint, uniform
- Dağılımlar: normal, exponential, poisson, binomial
- Örnekleme: choice, sample, shuffle
- Seed: seed, get_state, set_state
💡 Örnekler
Monte Carlo Pi Estimation
içe_aktar random
fonksiyon estimate_pi(n: tamsayı) -> ondalık yap
değişken içerde = 0
her i içinde aralık(0, n) için yap
değişken x = random.uniform(-1.0, 1.0)
değişken y = random.uniform(-1.0, 1.0)
// Çemberin içinde mi?
eğer (x*x + y*y) <= 1.0 ise yap
içerde = içerde + 1
son
son
// π ≈ 4 * (içerdekiler / toplam)
dön 4.0 * içerde.kesir() / n.kesir()
son
random.seed(42)
değişken pi_tahmin = estimate_pi(1000000)
yazdır("π tahmini: " + pi_tahmin.yazıya()) // ~3.141592
Simulated Die Rolls
içe_aktar random, collections
// 10000 kez zar at ve frekansları say
değişken frekans = collections.HashMap_new()
her i içinde aralık(0, 10000) için yap
değişken zar = random.randint(1, 6)
değişken mevcut = collections.HashMap_get(frekans, zar.yazıya())
eğer mevcut == yok ise yap
collections.HashMap_set(frekans, zar.yazıya(), 1)
yoksa yap
collections.HashMap_set(frekans, zar.yazıya(), mevcut + 1)
son
son
// Sonuçları göster
her (yüz, adet) içinde frekans için yap
değişken yüzde = (adet.kesir() / 10000.0) * 100.0
yazdır(yüz + ": " + adet.yazıya() + " (" + yüzde.yazıya() + "%)")
son