写段python代码 判断十三道的五对三条(带王牌,王可以变成任何牌, 最多6个王牌)
时间: 2023-11-22 12:56:06 浏览: 131
系統給一家牌可依照十三支方式出牌可置入第一第二第三道
3星 · 编辑精心推荐
以下是一个简单的Python代码,用于判断十三道中是否有五对三条。
```python
def check_five_pairs_three_of_a_kind(hand):
kings = hand.count("W") # 统计手牌中王牌数量
if kings > 6: # 王牌数量不得超过6张
return False
pairs = set()
triples = set()
for card in hand:
if card != "W":
if hand.count(card) == 2:
pairs.add(card)
elif hand.count(card) == 3:
triples.add(card)
if len(pairs) != 5 or len(triples) != 3:
return False
return True
```
其中,`hand` 是一个字符串,表示一手十三道牌。函数首先统计手牌中王牌数量,如果超过6张则直接返回 False。然后使用集合 `pairs` 和 `triples` 分别统计手牌中出现过的对子和三张牌。最后判断集合的大小是否分别为 5 和 3,如果是则表示满足五对三条的条件,返回 True,否则返回 False。
阅读全文