Bắt đầu ngayBắt đầu miễn phí

Một đôi

Giờ hãy dùng mô phỏng để ước tính xác suất. Giả sử bạn được mời chơi poker tại nhà bạn mình. Ở biến thể này, bạn được chia năm lá và người có bộ bài mạnh hơn sẽ thắng. Bạn sẽ dùng mô phỏng để ước tính xác suất rút được một số bộ bài nhất định. Hãy bắt đầu với việc ước tính xác suất có ít nhất một đôi. Một đôi là khi bạn có hai lá khác chất nhưng cùng giá trị số (ví dụ: 2 cơ, 2 bích, và 3 lá khác).

Kết thúc bài tập này, bạn sẽ biết cách dùng mô phỏng để tính xác suất trong các trò chơi bài.

Bài tập này là một phần của khóa học

Mô phỏng Thống kê bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Chia bài: Trong vòng lặp for, xáo deck_of_cards. Sau đó chọn 5 lá đầu tiên làm hand.
  • Đếm giá trị số: Dùng phương thức get() để tạo từ điển cards_in_hand nhằm đếm số lần xuất hiện của mỗi numeric_value trong hand.
  • Có một đôi không? Kiểm tra xem giá trị lớn nhất trong cards_in_hand có bằng hoặc lớn hơn 2 hay không để xác định có ít nhất một đôi. Nếu có, tăng biến đếm two_kind.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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))
Chỉnh sửa và Chạy Mã