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

On Üç Oyunu

Kombinatorik alanındaki çalışmalarıyla tanınan ünlü Fransız matematikçi Pierre Raymond De Montmart, On Üç Oyunu adlı basit bir oyun önermiştir. 1’den 13’e numaralandırılmış 13 karttan oluşan bir destesin var. Bu desteyi karıştır ve kartları teker teker çek. Bir çakışma (coincidence), kartın üzerindeki numaranın kartın çekildiği sırayla aynı olmasıdır. Örneğin, çektiğin 5. kart 5 ise, bu bir çakışmadır. Tüm kartları hiçbir çakışma olmadan bitirirsen oyunu kazanırsın. Hadi bu oyunu kazanma olasılığını simülasyonla hesaplayalım.

Bu egzersizi tamamlayarak, soyut problemleri olasılıkları tahmin etmek için simülasyon çerçevesine dönüştürme becerini daha da pekiştireceksin.

Bu egzersiz

Python'da İstatistiksel Benzetim

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Her çekiliş için, deck içindeki kartların tamamını yerine koymadan çek ve draw değişkenine ata.
  • Çekilişte herhangi bir çakışma olup olmadığını kontrol et ve varsa coincidences sayacını 1 artır.
  • Kazanma olasılığını, hiçbir çakışma olmayan oyunların oranı olarak hesapla ve sonucu yazdırmak için prob_of_winning değişkenini kullan.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Pre-set constant variables
deck, sims, coincidences = np.arange(1, 14), 10000, 0

for _ in range(sims):
    # Draw all the cards without replacement to simulate one game
    draw = np.random.choice(____, size=____, replace=____)
    # Check if there are any coincidences
    coincidence = (draw == list(np.arange(1, 14))).any()
    if coincidence == ____: 
        coincidences += 1

# Calculate probability of winning
prob_of_winning = ____
print("Probability of winning = {}".format(____))
Kodu Düzenle ve Çalıştır