เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ไพ่คู่

มาใช้การจำลองเพื่อประมาณค่าความน่าจะเป็นกัน สมมติว่าได้รับเชิญไปร่วมเล่นโป๊กเกอร์ที่บ้านเพื่อน ในเกมเวอร์ชันนี้ ผู้เล่นแต่ละคนจะได้รับไพ่ 5 ใบ และผู้ที่มีไพ่ดีกว่าจะเป็นผู้ชนะ เราจะใช้การจำลองเพื่อประมาณความน่าจะเป็นของการได้ไพ่รูปแบบต่าง ๆ โดยในแบบฝึกหัดนี้จะเน้นที่การประมาณความน่าจะเป็นของการได้ไพ่คู่อย่างน้อยหนึ่งคู่ ไพ่คู่หมายถึงการได้ไพ่สองใบที่มีค่าตัวเลขเดียวกันแต่ต่างดอก (เช่น ไพ่ 2 ดอกหัวใจ และ 2 ดอกโพดำ พร้อมกับไพ่อีก 3 ใบที่เหลือ)

เมื่อจบแบบฝึกหัดนี้ จะรู้วิธีใช้การจำลองเพื่อคำนวณความน่าจะเป็นในเกมไพ่

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การจำลองทางสถิติด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • แจกไพ่: ในลูป for ให้สับ deck_of_cards จากนั้นเลือกไพ่ 5 ใบแรกเป็น hand
  • นับค่าตัวเลข: ใช้เมธอด get() เพื่อสร้างพจนานุกรม cards_in_hand ที่นับจำนวนครั้งที่ numeric_value แต่ละค่าปรากฏใน hand
  • ได้ไพ่คู่หรือไม่? ตรวจสอบว่าค่าสูงสุดใน cards_in_hand มีค่าเท่ากับหรือมากกว่า 2 เพื่อดูว่าได้ไพ่คู่อย่างน้อยหนึ่งคู่หรือไม่ ถ้าใช่ ให้เพิ่มค่า two_kind ขึ้น

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Shuffle deck & count card occurrences in the hand
n_sims, two_kind = 10000, 0
for i in range(n_sims):
    ____
    hand, cards_in_hand = deck_of_cards[0:5], {}
    for [suite, numeric_value] in hand:
        # Count occurrences of each numeric value
        cards_in_hand[numeric_value] = cards_in_hand.____(numeric_value, 0) + 1
    
    # Condition for getting at least 2 of a kind
    if ____ >=2: 
        two_kind += 1

print("Probability of seeing at least two of a kind = {} ".format(two_kind/n_sims))
แก้ไขและรันโค้ด