我正在尝试做一个足球分区,在踢完各自的比赛后,同时获得第一名和第二名,我需要通过比较他们的总比分,在平局的情况下,通过总进球数的差异来做到这一点
这是团队的课程:
class Equipo:
pais = None
media_gol = 0
penal = 0
nextGol = 0
puntos_divisionales = 0
dif_goles = 0
def __init__(self, pais, mg, pen):
self.pais = pais
self.media_gol = mg
self.penal = pen
def getPais(self):
return self.pais
def getMedia(self):
return self.media_gol
def getPenal(self):
return self.penal
def getGol(self):
return self.nextGol
def getPuntos(self):
return self.puntos_divisionales
def getDif(self):
return self.dif_goles
def setNextGol(self, gol):
self.nextGol += gol
def setGol(self, gol):
self.nextGol = gol
def setDif(self, dif):
self.dif_goles = dif
def incPuntos(self):
self.puntos_divisionales += 1
这是一节课:
class Division:
primerLugar = None
segundoLugar = None
equipo1 = None
equipo2 = None
equipo3 = None
equipo4 = None
equipos = [equipo1, equipo2, equipo3, equipo4]
matches = []
def __init__(self, e1, e2, e3, e4):
self.equipo1 = e1
self.equipo2 = e2
self.equipo3 = e3
self.equipo4 = e4
def get1(self):
return self.primerLugar
def get2(self):
return self.segundoLugar
def match(self):
self.matches.append([self.equipo1, self.equipo2])
self.matches.append([self.equipo1, self.equipo3])
self.matches.append([self.equipo1, self.equipo4])
self.matches.append([self.equipo2, self.equipo3])
self.matches.append([self.equipo2, self.equipo4])
self.matches.append([self.equipo3, self.equipo4])
def winner(self):
for m in self.matches:
p = Partido(m[0], m[1])
p.tiempoPartido()
p.scoreGoles()
p.getGanador().incPuntos()
“Partido”类只是两个团队之间的游戏,以及目标和赢家的计算器
我要在小组课上决定胜利者
你的代码有很多问题。equipo类看起来不错,尽管我的西班牙语还不足以理解大多数字段和函数的功能
对于Division类,我建议创建一个字典,将团队作为键,将他们的划分点和总目标作为项目列表。一旦所有的游戏都玩了,你就可以把它转换成一个列表,然后对它进行排序。也可以去掉matches字段,只使用itertools.combinations。它使每一个独特的组合2队。这个班看起来像这样:
您需要在Partido中实现getGoals函数来获取目标的数量。我假设你会用getGoals(0)来表示赢家的进球数,用getGoals(1)来表示输家的进球数。你还需要一个getVencido(我认为这在西班牙语中是loser?)函数来返回失败的团队
相关问题 更多 >
编程相关推荐