Я пытаюсь проверить комбинацию из пяти карт, чтобы увидеть, включает ли она каре. В настоящее время у меня есть две функции: convert(x)
и draw_n(n)
. Они определяются как:
def convert(x):
card = x % 13
suit = 'SHDC'[x/13]
return card, suit, str([card, suit])
def draw_n(n):
from random import sample
# initialize the list
cards = []
# make sure that we have a valid number
if n > 0 and n <= 52:
# sample without replacement
for x in sample(xrange(0, 52), n):
# append the converted card to the list
cards.append(convert(x))
return cards
Когда draw_n(n)
выполняется с параметром 5
(т. е. вытягивает руку из 5 карт), он возвращает список с 5 случайными картами, который выглядит следующим образом:
[(8, 'D', '9 of Diamonds'),
(0, 'H', 'Ace of Hearts'),
(8, 'H', '9 of Hearts'),
(10, 'S', 'Jack of Spades'),
(12, 'C', 'King of Clubs')]
Цифра относится к номеру карты (т. е. 0 = туз, ..., 12 = король), буква относится к масти, а строка — к названию карты.
Я буду выполнять эту функцию несколько раз в Python, что приведет к множеству рук из 5 карт. Я хотел бы иметь возможность подсчитать количество рук с каре в списке 5-карточных рук, но мне не повезло. Любая помощь будет принята с благодарностью!