spades = ['2S','3S','4S','5S','6S','7S','8S','9S','10S','JS','QS','KS','AS']
hearts = ['2H','3H','4H','5H','6H','7H','8H','9H','10H','JH','QH','KH','AH']
clubs = ['2C','3C','4C','5C','6C','7C','8C','9C','10C','JC','QC','KC','AC']
diamonds = ['2D','3D','4D','5D','6D','7D','8D','9D','10D','JD','QD','KD','AD']
suits = [spades,hearts,clubs,diamonds]我如何将价值归因于这张卡片的强度。即5S = 5,JS=11,AS=14。
发布于 2015-10-12 21:10:09
发布于 2015-10-12 21:27:40
我认为卡片类型(2到10,J,Q,K,A)和卡片类型的分离要干净得多。这样,你就不用担心西装的编号或排字了。
card_types = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']
spades = [card + "S" for card in card_types]
hearts = [card + "H" for card in card_types]
clubs = [card + "C" for card in card_types]
diamonds = [card + "D" for card in card_types]
suits = [spades, hearts, clubs, diamonds]
card_strengths = {'J': 11,
'Q': 12,
'K': 13,
'A': 14
}
def get_strength(card):
rank = card[0]
if rank.isdigit():
return int(rank)
return card_strengths[rank]
if __name__ == "__main__":
print get_strength('3S')
print get_strength('JS')
print get_strength('AC')输出:
3. 11 14
发布于 2015-10-12 21:29:57
对每个值使用dictionary键值对并不是很好的解决方案。对于这种特殊情况,您可以通过一个简单的解决方案实现您想要的结果。
你看模式,
list_index:0 value:2
list_index:1 value:3
list_index:2 value:4
............ .......
list_index:12 value:14使用此模式可以找到更简单的解决方案。
value = spades.index('5S')+2
value = diamonds.index('AD')+2从这里,你会得到我希望的直觉。
https://stackoverflow.com/questions/33090209
复制相似问题