我正在使用Python编写一个简单的Yatzy应用程序,但是我在寻找最佳骰子方面有些困惑。这是该函数的概述:
Input: list containing five dice.
Output: highest sum of two dice with the same number. If no pairs found, then -1.
使用Python编写此函数的最佳方法是什么?我怎样才能放大成两对或满满的房子?
谢谢。
答案 0 :(得分:1)
这是一个使用collections模块的Python3解决方案。
from collections import Counter
from random import randint
roll = [randint(1, 6) for x in range(5)]
result = max([x for x, cnt in Counter(roll).items() if cnt==2] or [-1])
print(roll, '->', result)
顺便说一下,这里有一个边缘情况(4种= 2对),根据您需要的结果,您可能希望像cnt > 1
那样进行比较。