计算德州Hold'em P中的5张牌

2024-06-06 11:35:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在用python做一个关于扑克牌的模拟,我在计算后扑克牌,转身时有点结巴

我想学习如何计算出失败时,失败。 另一方面,我想学习如何让我的模拟识别出我需要一张牌才能有直。如果丢失的牌在中间,我的出局数是4。如果是在直道的开始或结束,我的出局数是8。在

例如:

我口袋里有5个黑桃和6个钻石

失败的是:9个俱乐部,8个红心,K个红心

所以我的5张牌是这样的:5s-6d-8h-9c-Kh

在扑克牌比赛中,这种抽签是直接抽签。如果我画任何一种7轮或河,我将是直画。因为一副牌上有4个7,所以我的出局是4个。在

这只是关于outs的一个基本示例。在

如果有人能指导我,我会很高兴的。在

谨致问候


Tags: 示例俱乐部指导扑克牌我会问候钻石口袋
2条回答

在没有其他知识的情况下,你可以用

 number of ways a success can occur
                  -
 total number of outcomes

所以有5张你知道的卡片和52-5=47张你不知道的卡片给出了47种可能的结果。从4个7中抽出一个的概率是

^{pr2}$

如果抽到两张牌,则需要probability tree diagrams

前两张牌是7的概率是

   4 / 47 * 3 / 46

第一个是7,第二个不是7

   4 / 47  * 43 / 46

第一个不是七,第二个是七个

   43 / 47 * 4 / 46

两个都不是七分之一

   43 / 47 * 42 / 46

首先,您需要一些代码来识别各种各样的手(四个一个种类,直冲等等)。然后,你的算法应该一次从玩家的手牌中取出四张牌,然后循环使用牌堆中所有剩余的牌,一次一张,将它们添加到玩家的手上,并测试它们,以确定哪只手可以一次平局。在

也就是说,给定手A B C D E,使卡片X1, X2, ..., X47构成可能的抽签,您的算法将测试:

A B C D + (X1 ... X47)  > evaluate_hand()
A B C E + (X1 ... X47)  > evaluate_hand()
A B D E + (X1 ... X47)  > evaluate_hand()
A C D E + (X1 ... X47)  > evaluate_hand()
B C D E + (X1 ... X47)  > evaluate_hand()

如果这235手牌中有一手牌的计算结果是STRAIGHT_FLUSH,那么你就会知道该玩家离直接冲水只有一张牌。在

相关问题 更多 >