import csv
#EJERCICIO 1
def obtener_equipos(csv_reader: csv) -> list[ str ]:
'''
Obtenemos todos los equipos diferentes del archivo CSV.
'''
equipos = []
cursor: int = 0
'''
Guardo las posiciones donde se encuentra este equipo en el fichero csv para
hacer los siguientes pasos de forma más eficiente.
'''
lineas_equipo: dict[equipos : str] = []
for row in csv_reader:
if cursor == 0:
'''
No procesamos la primera línea del CSV pues contiene los nombres de
las columnas.
'''
cursor += 1
continue
for i in range(0,2):
if row[i] not in equipos:
equipos.append(row[i])
#(equipos.append(row[i] ) for i in row[0:1] if row[i] not in equipos)
cursor += 1
return equipos, lineas_equipo
def obtener_resultados(equipo: str, lineas: list[ list [ str ]]) -> list[ str ]:
resultados: list[ str ] = []
for linea in lineas:
if linea == linea[0]:
resultados.append(linea[2])
return resultados
def obtener_contrincantes(equipo: str, row: list[ str ]) -> list[ str ]:
contrincantes: list[ str ] = []
return contrincantes
def obtener_diccionario(equipo: str, csv_reader: csv, equipos: list[ str ]) -> dict:
diccionario_equipo: dict[str : list[ str ]] = {}
contrincantes_lineas: list[ str ] = []
for row in csv_reader:
for i in range(0,1):
if row[i] == equipo:
row_aux = row
row.remove(i)
contrincantes_lineas.append(row_aux)
for equipo_2 in equipos:
diccionario_equipo[equipo_2] = obtener_resultados(equipo_2,
contrincantes_lineas
)
return diccionario_equipo
def ej_1 (ruta: str) -> dict[ str : dict[ str : list[ str ] ] ]:
with open("prueba.csv", encoding = "utf_8") as file:
csv_reader: csv = csv.reader( file, delimiter = ',')
equipos: list = obtener_equipos(csv_reader)
dict_return: str = {}
for equipo in equipos:
dict_return[equipo] = obtener_diccionario(equipo,
csv_reader,
equipos
)
#obtener_contrincantes(equipo, csv_reader)
#resultados: dict = obtener_resultados(equipo, csv_reader)
dict_return[equipo] = obtener_diccionario(equipo, csv_reader, equipos)
pass
file.close()
return dict_return
#EJERCICIO 2
def probabilidad_victoria(diccionario: dict, seleccion: str, contrincante: str):
pass
#EJERCICIO 3
class Partido():
pass