斗地主作为一个很流行的纸牌游戏,深受人民群主的喜爱。其中双王(又称火箭)与炸弹(四张点数一样的牌)是非常厉害的牌。那它们在一场比赛中出现的概率有多大呢?它们两个谁出现的概率更高呢?下面这个程序揭示了结果。
为了便于统计,我们简化模型,54张牌3个人玩,每人平均为17张牌。
# -*- coding: utf-8 -*-
import random
#游戏参与人数,最好是54的因数
persons = 3
#测试重复的次数
repeat_count = 10000
#火箭出现的场次
rocket_count = 0
#炸弹出现的场次
bomb_count = 0
for count in range(repeat_count):
#初始化牌
pai_init = [x for x in range(1, 14)] * 4 + [0] + [0]
#洗牌 shuffle会将指定序列随机排列
random.shuffle(pai_init)
flag_rocket = 0
flag_bomb = 0
for i in range(persons):
#每个人的手牌
one_hand = pai_init[i * (54 / persons) : (i + 1) * (54 / persons)]
#统计是否出现 火箭
if (one_hand.count(0) == 2):
flag_rocket = 1
#统计是否出现炸弹
for i in range(1, 14):
i