2. Golejadors

Volem saber els golejadors d’un seguit de partits del mundial de futbol.

Concretament, disposem d’un diccionari de partits que és un diccionari amb els gols dels partits disputats on la clau és una tupla de dos elements amb els noms (str) dels dos equips que han jugat el partit. El valor associat a cada clau és la llista de gols del partit que és una llista on cada element és una tupla de 3 elements:

  • el nom del jugador que ha marcat el gol (str)

  • el minut (int)

  • si ha estat de penal o no (bool)

Per exemple:


{('FRA', 'MAR'): [('Hernández', 4, False), ('Kolo', 78, False)],
 ('ARG', 'CRO'): [('Messi', 34, False), ('Alvarez', 39, False), ('Alvarez', 69, False)],
 ('ARG', ' FRA'): [('Messi', 22, True), ('DiMaría', 35, False), ('Mbappé', 80, True), ('Mbappé', 81, False), ('Messi', 108, False), ('Mbappé', 117, False)]}

L’objectiu és construir un diccionari de golejadors on la clau és el nom de jugador (str) i el valor associat és una llista amb dos int:

  • el nombre total de gols que ha marcat

  • el nombre de gols que ho han estat de penal

Per exemple:


{'Hernández': [1, 0], 'Kolo': [1, 0], 'Messi': [3, 1],
 'Alvarez': [2, 0],'DiMaría': [1, 0], 'Mbappé': [3, 1]}

Amb aquest objectiu es demana que al mòdul gols (fitxer gols.py) facis les funcions següents:

gols.gols_computa(Dgolejadors, Lgols)

donats

  • Dgolejadors un diccionari de golejadors (com el descrit abans)

  • Lgols una llista de gols (com la descrita abans)

actualitza Dgolejadors comptabilitzant els gols de Lgols

Per exemple:


>>> Dgolejadors = {'Hernández': [1, 0], 'Kolo': [1, 0]}
>>> L = [('Messi', 34, False), ('Alvarez', 39, False), ('Alvarez', 69, False)]
>>> gols_computa(Dgolejadors, L)
>>> Dgolejadors == {'Hernández': [1, 0], 'Kolo': [1, 0], 'Messi': [1, 0],
... 'Alvarez': [2, 0]}
True

Disposes de jocs de proves al fitxer test-gols_computa.txt.


gols.golejadors(Dpartits)

donat Dpartits que és un diccionari de partits (com el descrit abans)

retorna el diccionari de golejadors corresponent (com el descrit abans)

Per exemple:


>>> Dpartits = {
... ('FRA', 'MAR'): [('Hernández', 4, False), ('Kolo', 78, False)],
... ('ARG', 'CRO'): [('Messi', 34, False), ('Alvarez', 39, False), ('Alvarez', 69, False)],
... ('ARG', ' FRA'): [('Messi', 22, True), ('DiMaría', 35, False), ('Mbappé', 80, True), ('Mbappé', 81, False), ('Messi', 108, False), ('Mbappé', 117, False)]}
>>> Dgolejadors = golejadors(Dpartits)
>>> Dgolejadors == {'Hernández': [1, 0], 'Kolo': [1, 0], 'Messi': [3, 1],
... 'Alvarez': [2, 0],'DiMaría': [1, 0], 'Mbappé': [3, 1]}
True

Disposes de jocs de proves al fitxer test-golejadors.txt.