1. Taula Classificatòria [4p]¶
Volem generar un diccionari amb la taula classificatòria de les seleccions d’un grup del mundial de futbol a partir dels resultats dels partits d’aquest grup que tenim en una llista. Concretament cada element és una llista amb les dades d’un partit següents: els noms de les dues seleccions (str) i els gols marcats per cada selecció respectivament (int).
Per exemple:
>>> Lr = [['Germany', 'Japan', 1, 2], ... ['Spain', 'CostaRica', 7, 0], ... ['Japan', 'CostaRica', 0, 1], ... ['Spain', 'Germany', 1, 1], ... ['Japan', 'Spain', 2, 1], ... ['CostaRica', 'Germany', 2, 4]]
En l’exemple la primera subllista correspon al partit on Germany va perdre 1 a 2 amb Japan.
El diccionari resultant tindrà com a clau el nom de la selecció (str) i el valor associat serà una llista (list) amb els seus resultats (les dades es detallen a cada apartat).
Amb aquest objectiu es demana que al mòdul tcf (fitxer tcf.py) facis les funcions dels apartats següents:
Avís
Cada apartat té el mateix pes de nota.
1.1. Genera Taula¶
Es demana la funció
tcf_genera(Lr)
tal que
donada
Lruna llista de resultats com la descritaretorna un diccionari que té per clau un nom de selecció
s(str) i per valor els resultats d’aquesta selecció segonsLren forma d’una llista de tuples, una per cada partit disputat pers, amb els 3 valors següents:
el nom de la selecció contrària (
str)els gols fets per la mateixa selecció
sels gols fets per la selecció contrària
Aquí tens un exemple:
>>> Lr = [['Germany', 'Japan', 1, 2], ... ['Spain', 'CostaRica', 7, 0], ... ['Japan', 'CostaRica', 0, 1], ... ['Spain', 'Germany', 1, 1], ... ['Japan', 'Spain', 2, 1], ... ['CostaRica', 'Germany', 2, 4]] --fl >>> Dt = tcf_genera(Lr) >>> Dt == { ... 'Germany': [('Japan', 1, 2), ('Spain', 1, 1), ('CostaRica', 4, 2)], ... 'Spain': [('CostaRica', 7, 0), ('Germany', 1, 1), ('Japan', 1, 2)], ... 'CostaRica': [('Spain', 0, 7), ('Japan', 1, 0), ('Germany', 2, 4)], ... 'Japan' : [('Germany', 2, 1), ('CostaRica', 0, 1), ('Spain', 2, 1)]} True
Disposes dels jocs de proves al fitxer tcf_genera_test.txt.
1.2. Puntua Taula¶
Es demana la funció
tcf_puntua(Dtcf)
tal que
donat
Dtcfun diccionari com el generat per la funciótcf_genera(Lr)de l’apartat anteriormodifica
Dtcfde manera que cada clau (stramb un nom de selecciós) té associada una llista amb els elements següents:
El total de punts aconseguits per
s(cada partit guanyat són 3 punts, empatat és 1 punt i perdut són 0 punts).El total de gols a favor.
El total de gols en contra.
Els resultats (la llista de tuples) que ja tenia associada abans.
Aquí tens un exemple:
>>> DtjtE = { ... 'Germany': [('Japan', 1, 2), ('Spain', 1, 1), ('CostaRica', 4, 2)], ... 'Spain': [('CostaRica', 7, 0), ('Germany', 1, 1), ('Japan', 1, 2)], ... 'CostaRica': [('Spain', 0, 7), ('Japan', 1, 0), ('Germany', 2, 4)], ... 'Japan' : [('Germany', 2, 1), ('CostaRica', 0, 1), ('Spain', 2, 1)]} >>> tcf_puntua(DtjtE) >>> DtjtE == { ... 'Germany': [4, 6, 5, [('Japan', 1, 2), ('Spain', 1, 1), ('CostaRica', 4, 2)]], ... 'Spain': [4, 9, 3, [('CostaRica', 7, 0), ('Germany', 1, 1), ('Japan', 1, 2)]], ... 'CostaRica': [3, 3, 11, [('Spain', 0, 7), ('Japan', 1, 0), ('Germany', 2, 4)]], ... 'Japan' : [6, 4, 3, [('Germany', 2, 1), ('CostaRica', 0, 1), ('Spain', 2, 1)]]} True
Disposes de jocs de proves al fitxer tcf_puntua_test.txt.
Avís
El nom de les funcions han de ser exactament el demanat a l’enunciat.
El nom dels fitxers amb el teu codi han de ser exactament el nom indicat a l’enunciat amb l’extensio
.pyi és important que no contingui res més que la definició de la funció demanada.