【问题标题】:Creating a Poker Hand Analyzer in python在 python 中创建扑克手分析器
【发布时间】:2020-05-07 02:03:10
【问题描述】:

所以,我正试图从我的 python 类中提取一个 C,而我的最终项目正在杀死我。首先,我们必须使用字典和列表来创建卡片组。我得到了它的工作。

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 将读取红桃 A,依此类推。我不知道该怎么做。有人有任何建议或可能的链接吗?我们得到了一些提示:

card = (1,0) 索引元组以获得花色 suit=card[1] 现在拿起西装并将其插入字典以获取适当的文本 suit_text=西装[西装]

看来我需要创建一个包含人脸卡片的新字典

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

但我如何让它们与列表条目相关联??

【问题讨论】:

  • 你能解释一下associate the list entries with the actual card...
  • 您是否希望有一个新的字典,其中的键是唯一的并且与卡片的数量和花色相关?...例如{ "1H": "Ace of hearts", "2C": "2 of Clubs", "13S": "King of Spades"... }
  • 目前我将卡片存储为 (rank , suit),现在我需要得到一个列表,其中包含 1、0:红桃 A、2、0:红桃 2等等
  • 我还是不明白 - 请详细说明
  • 抱歉,被其他问题包围了。我最终弄清楚了。答案贴在下面。这个项目把我搞砸了。甚至无法正确描述这件事。

标签: python dictionary poker


【解决方案1】:

经过一番努力,我想通了。

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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-01
    • 2014-11-04
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2014-01-01
    相关资源
    最近更新 更多