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
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àmhand. - Đếm giá trị số: Dùng phương thức
get()để tạo từ điểncards_in_handnhằm đếm số lần xuất hiện của mỗinumeric_valuetronghand. - Có một đôi không? Kiểm tra xem giá trị lớn nhất trong
cards_in_handcó bằng hoặc lớn hơn2hay không để xác định có ít nhất một đôi. Nếu có, tăng biến đếmtwo_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))