统计概率问题

问题描述 投票:0回答:1

我正在做这个练习:

一副标准扑克牌由 52 张牌组成。所有卡牌均已分割 分为 4 种花色,包括黑桃 (♠)、梅花 (♣)、方块 (♦) 和红心 (♥)。在 每个花色有 13 张牌,包括 1、2、3、4、5、6、7、8、9、10、J(J)、Q (女王),K(国王)。一手 5 张牌的扑克牌被称为“三张牌”,如果 由 3 张相同面值的卡片和 2 张其他 2 种不同面值的卡片组成 除前 3 张卡以外的其他面值。
(a) 列出所有可能的 5 张牌扑克并分配给变量

poker_5
。 将 5 张牌扑克的数量分配给变量
len_poker_5

(b) 找到所有“三样”并分配给变量
three_of_a_kind
。 将数字分配给变量
len_three_of_a_kind

我只能做运动a。我不知道要做什么运动 b

import itertools as it
def exA():
    suits = ['spades', 'clubs', 'diamonds', 'hearts']

    denominations = ['1', '2', '3', '4', '5',
                     '6', '7', '8', '9', '10', 'J', 'Q', 'K']
    deck = [f'{d}{s}' for s in suits for d in denominations]
    poker_5 = list(it.combinations(deck, 5))
    len_poker_5 = len(poker_5)
    print(len_poker_5)
python algorithm probability
1个回答
0
投票

我不知道要做什么运动b

练习要求所有可能的手牌,其中包含三张匹配的牌和另外两张不匹配的牌。

所以,举一个具体的例子,假设匹配的牌是三张 J。所以你知道这手牌将会有 JJJ,这样就只剩下另外两张牌了。

因此您可以生成这两张卡的所有可能组合的列表,对吗?您已经在练习 A 中完成了五张卡片的操作。

但是两张牌不能相互匹配,并且它们不能是 J,因此在生成列表后,您需要删除其他两张牌相互匹配的情况,并删除其中一张是 J 的情况。

现在您已经解决了 J 的问题,请对其他 12 种面额重复该过程。

© www.soinside.com 2019 - 2024. All rights reserved.