Создание анализатора покерных рук в python - PullRequest
1 голос
/ 07 мая 2020

Итак, я пытаюсь вытащить C из моего python класса, и мой последний проект меня убивает. Сначала нам нужно было создать колоду карт, используя словарь и список. Я получил это, чтобы работать.

suits = {0: "Hearts", 1: "Diamonds", 2: "Clubs", 3: "Spades"}
ranks = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
card_deck = []

def create_deck():
    for suit in suits:
        for rank in ranks:
            card_deck.append([rank, suit])

create_deck()

теперь мне нужно создать функцию, чтобы связать записи списка с фактической картой. так, 1, 0 будут читать туз червей и так далее. я понятия не имею, как это сделать. у кого-нибудь есть предложения или, возможно, ссылки? мы получили подсказки:

card = (1,0) проиндексируйте кортеж, чтобы получить масть suit = card [1] теперь возьмите масть и вставьте ее в словарь, чтобы получить соответствующий текст suit_text = suit [ костюм]

похоже, мне нужно создать новый словарь с карточками лиц в нем

cards = {1: "Ace", 11: "Jack", 12: "Queen", 13: "King"}

, но как мне заставить их ассоциировать их с записями списка ??

1 Ответ

1 голос
/ 09 мая 2020

после некоторой работы разобрался.

def print_card():
    for card in card_deck:
        suit = card[1]
        suit_text = suits[suit]
        if card[0] == 1 or card[0] == 11 or card[0] == 12 or card[0] == 13:
            rank = card[0]
            rank_text = face_cards[rank]
        else:
            rank = card[0]
            rank_text = ranks[rank] - 1

        print (str(rank_text) + " of " + suit_text)

print_card()
...