我正在尝试创建一个扑克游戏,并且我有一个值列表,可以是列表中从 Ace 到 King 的任何值(名为“数字”)。为了确定玩家是否拥有“四同一”,程序需要检查值列表中的四项是否相同。
我不知道该怎么做。您是否会以某种方式使用 number[0] == any in number
函数四次,还是完全不同的东西?
最佳答案
假设您的 number 变量是 5 个元素(五张卡片)的列表,您可以尝试如下操作:
from collections import Counter
numbers = [1,4,5,5,6]
c = Counter(numbers)
这利用了 awesome Counter class 。 :)
获得计数器后,您可以通过执行以下操作来检查最常见事件的数量:
# 0 is to get the most common, 1 is to get the number
max_occurrencies = c.most_common()[0][1]
# this will result in max_occurrencies=2 (two fives)
如果您还想知道哪一张卡片出现频率较高,您可以使用元组解包一次性获取这两个信息:
card, max_occurrencies = c.most_common()[0]
# this will result in card=5, max_occurrencies=2 (two fives)
关于Python:如何查找列表中特定数量的项目是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49094098/