Python代码-从扑克牌中随机抽取5张牌,判断有没有对子
时间: 2024-09-10 12:29:39 浏览: 31
在Python中,要实现从一副扑克牌中随机抽取5张牌并判断是否有对子,可以通过使用`random`模块来随机抽取牌,并使用集合和排序的方式来判断是否有对子。以下是一个简单的示例代码:
```python
import random
from collections import Counter
# 定义扑克牌
suits = ['♠', '♥', '♣', '♦']
ranks = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']
deck = [suit + rank for suit in suits for rank in ranks]
# 随机抽取5张牌
hand = random.sample(deck, 5)
# 将牌按照大小排序
hand.sort(key=lambda x: ranks.index(x[1:]))
# 判断是否有对子
def has_pair(hand):
# 使用Counter计算每个数字出现的次数
counts = Counter(card[1:] for card in hand)
# 检查是否有多于一个的牌出现
return any(count > 1 for count in counts.values())
# 输出结果
print("抽到的牌是:", hand)
if has_pair(hand):
print("有对子!")
else:
print("没有对子。")
```
这段代码首先创建了一副扑克牌,然后从中随机抽取5张牌并进行排序,之后使用`Counter`统计每张牌出现的次数来判断是否有对子。