0
我试图找出我的代码出了什么问题。我试图得到正确的结果,但它出来总是随机答案。举例来说,我洗牌[V,V,V,A,V]我希望结果是[4,1],但是它会以[2,1,2]出现。你可以帮我吗 ?python 3.5的Itertools(groupby函数)
class Combinaison:
types_cartes = [
Carte.AS, Carte.ROI, Carte.DAME, Carte.VALET, Carte.DIX, Carte.NEUF
]
def __init__(self, des=None):
self.nb_lancers = 1
if des is None:
self.des = self._lancer_des(5)
else:
self.des = des
def determiner_type_combinaison_sans_as(self):
valeurs = [len(list(group)) for key, group in groupby(des)]
valeurs.sort(reverse=True)
sequence1 = [0, 1, 2, 3, 4]
sequence2 = [1, 2, 3, 4, 5]
if valeurs == sequence1 or valeurs == sequence2:
return " straight "
elif valeurs[0] == 5:
return " five of a kind "
elif valeurs[0] == 4:
return " four of a kind "
elif valeurs[0] == 3:
if valeurs[1] == 2:
return " Fullhouse "
else:
return " three of a kind"
elif valeurs[0] == 2:
if valeurs[1] == 2:
return " two pairs"
else:
return " one pair"
else:
return " nothing good, reshuffle"
class Carte(Enum):
"""Énumeration des types de cartes."""
AS = 0
ROI = 1
DAME = 2
VALET = 3
DIX = 4
NEUF = 5
def __str__(self):
if self == Carte.AS:
return "A"
if self == Carte.ROI:
return "R"
if self == Carte.DAME:
return "D"
if self == Carte.VALET:
return "V"
if self == Carte.DIX:
return "X"
if self == Carte.NEUF:
return "9"
确定虐待尝试感谢! –