2. FWC Results [3p]¶
Disposem d’un diccionari on es guarda la informació sobre la classificació dels equips que competeixen a la copa del món de futbol (similarment al problema anterior). La clau és el nom de la selecció (str) i el valor és una llista amb la resta de les informacions: partits jugats, guanyats, empatats, perduts, gols a favor, gols en contra, punts, i la mitjana de punts per partit.
La mitjana és un float i la resta són int.
Aquest diccionari serà buit en el cas de que encara no s’hagi jugat cap jornada de partits.
Disposem també d’una llista amb els resultats dels partits d’una jornada.
Aquesta llista conté una subllista per a cada resultat. Un resultat consta de 4 dades: els dos noms dels equips (str), els gols marcats per cada equip respectivament (int).
Per exemple:
>>> Lr_22_11_2022 = [['Argentina', 'Arabia', 1, 2], ... ['Denmark', 'Tunisia', 0, 0], ... ['Mexico', 'Poland', 0, 0], ... ['France', 'Australia', 4, 1]]
Es demana que al mòdul results (fitxer results.py) facis la funció següent:
update_standings(Ds, Lr)tal que donats
Dsun diccionari com el descrit
Lruna llista de resultats com la descritamodifica el diccionari actualitzant la classificació d’acord amb els resultats de
Lr. En concret, per a cada resultat:
Incrementa en 1 el nombre de partits jugats.
Incrementa guanyats, empatats o perduts segons el resultat.
Incrementa el nombre de gols a favor i en contra segons el resultat.
Incrementa el nombre de punts segons el resultat: una victòria són 3 punts, empat 1 punt i derrota cap.
Actualitza la mitjana de punts per partit.
Tingues en compte que quan un equip que juga el seu primer partit, aquest equip s’ha d’entrar al diccionari amb les seves dades corresponents.
Aquí tens un exemple:
>>> Ds == { ... 'Argentina': [1, 0, 0, 1, 1, 2, 0, 0.0], ... 'Arabia': [1, 1, 0, 0, 2, 1, 3, 3.0], ... 'Denmark': [1, 0, 1, 0, 0, 0, 1, 1.0], ... 'Tunisia': [1, 0, 1, 0, 0, 0, 1, 1.0], ... 'Mexico': [1, 0, 1, 0, 0, 0, 1, 1.0], ... 'Poland': [1, 0, 1, 0, 0, 0, 1, 1.0], ... 'France': [1, 1, 0, 0, 4, 1, 3, 3.0], ... 'Australia': [1, 0, 0, 1, 1, 4, 0, 0.0]} True >>> Lr_26_11_2022 = [['Poland', 'Arabia', 2, 0], ... ['Argentina', 'Mexico', 2, 0], ... ['France', 'Denmark', 2, 1], ... ['Tunisia', 'Australia', 0, 1]] >>> update_standings(Ds, Lr_26_11_2022) >>> Ds == { ... 'Argentina': [2, 1, 0, 1, 3, 2, 3, 1.5], ... 'Arabia': [2, 1, 0, 1, 2, 3, 3, 1.5], ... 'Denmark': [2, 0, 1, 1, 1, 2, 1, 0.5], ... 'Tunisia': [2, 0, 1, 1, 0, 1, 1, 0.5], ... 'Mexico': [2, 0, 1, 1, 0, 2, 1, 0.5], ... 'Poland': [2, 1, 1, 0, 2, 0, 4, 2.0], ... 'France': [2, 2, 0, 0, 6, 2, 6, 3.0], ... 'Australia': [2, 1, 0, 1, 2, 4, 3, 1.5]} True
Disposes dels jocs de proves al fitxer results_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.