BaşlayınÜcretsiz başlayın

Zar at

Hadi sonsuz bir generator oluşturalım! Görevin, simulate_dice_throws() generator'ını tanımlamak. Bu generator, 6 yüzlü bir zarın atış sonuçlarını out adlı bir sözlük (dictionary) şeklinde üretir. Her anahtar olası bir sonuçtur (1, 2, 3, 4, 5, 6). Her değer ise bir listedir: ilk değer ilgili sonucun gerçekleşme sayısı, ikinci değer ise bu gerçekleşme sayısının toplam atış sayısı total içindeki oranıdır. Örneğin (total = 4 iken):

{
  1: [2, 0.5],
  2: [1, 0.25],
  3: [1, 0.25],
  4: [0, 0.0],
  5: [0, 0.0],
  6: [0, 0.0]
}

İpucu: random modülündeki (zaten içe aktarılmış) randint() fonksiyonunu kullan. Bu fonksiyon belirtilen aralıkta rastgele bir tam sayı üretir (ör. randint(1, 2) sonucu 1 ya da 2 olabilir).

Bu egzersiz, kursun bir parçasıdır

Python ile Kodlama Mülakatı Soruları Pratiği

Kursa Göz Atın

Egzersiz talimatları

  • Yeni bir sayı elde etmek için tek bir atış simüle et.
  • Gerçekleşme sayısını ve oranını güncelle.
  • Güncellenen sözlüğü yield et.
  • Generator'ı oluştur ve 1000 atış simüle et.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

def simulate_dice_throws():
    total, out = 0, dict([(i, [0, 0]) for i in range(1, 7)])
    while True:
        # Simulate a single toss to get a new number
        num = ____
        total += 1
        # Update the number and the ratio of realizations
        out[num][0] = ____
        for j in range(1, 7):
        	out[j][1] = round(____/____, 2)
        # Yield the updated dictionary
        ____

# Create the generator and simulate 1000 tosses
dice_simulator = ____
for i in range(1, 1001):
    print(str(i) + ': ' + str(____(____)))
Kodu Düzenle ve Çalıştır