Skip to content

Instantly share code, notes, and snippets.

@asber07
Created May 3, 2025 00:32
Show Gist options
  • Save asber07/250d53ee363f2d4442f5df05a9898276 to your computer and use it in GitHub Desktop.
Save asber07/250d53ee363f2d4442f5df05a9898276 to your computer and use it in GitHub Desktop.
import random
class Equipo:
def __init__(self, nombre):
self.nombre = nombre
self.partidosGanados = 0
self.partidosPerdidos = 0
self.setGanados = 0
def resetSets(self):
self.setGanados = 0
class Partido:
def __init__(self, equipo1, equipo2):
self.equipo1 = equipo1
self.equipo2 = equipo2
def puntos(self):
return random.randint(10, 28)
def puntosExtras(self):
return random.randint(0, 6)
def registraSet(self, ganador):
ganador.setGanados += 1
if ganador.setGanados == 3:
perdedor = self.equipo1 if ganador == self.equipo2 else self.equipo2
ganador.partidosGanados += 1
perdedor.partidosPerdidos += 1
print(f"\n{ganador.nombre} gana el partido por 3 sets a {perdedor.setGanados}")
self.equipo1.resetSets()
self.equipo2.resetSets()
return True
return False
def jugarPartido(self):
print(f"\n--- Nuevo partido entre {self.equipo1.nombre} y {self.equipo2.nombre} ---")
while self.equipo1.setGanados < 3 and self.equipo2.setGanados < 3:
puntos1 = self.puntos()
puntos2 = self.puntos()
print(f"Puntos iniciales: {self.equipo1.nombre} {puntos1} - {self.equipo2.nombre} {puntos2}")
while True:
if (puntos1 >= 25 or puntos2 >= 25) and abs(puntos1 - puntos2) >= 1:
break
puntos1 += self.puntosExtras()
puntos2 += self.puntosExtras()
print(f"Puntos extra -> {self.equipo1.nombre}: {puntos1}, {self.equipo2.nombre}: {puntos2}")
if puntos1 > puntos2:
print(f"Set ganado por {self.equipo1.nombre}")
if self.registraSet(self.equipo1):
break
else:
print(f"Set ganado por {self.equipo2.nombre}")
if self.registraSet(self.equipo2):
break
def resultadoTorneo(self):
print("\n=== RESULTADO DEL TORNEO ===")
print(f"{self.equipo1.nombre}: {self.equipo1.partidosGanados} ganados, {self.equipo1.partidosPerdidos} perdidos")
print(f"{self.equipo2.nombre}: {self.equipo2.partidosGanados} ganados, {self.equipo2.partidosPerdidos} perdidos")
equipo1 = Equipo("Águilas")
equipo2 = Equipo("Tiburones")
partido = Partido(equipo1, equipo2)
cantidad_partidos = 5
for _ in range(cantidad_partidos):
partido.jugarPartido()
partido.resultadoTorneo()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment