Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🎲 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

← complex | linalg →