België heeft elf keer deelgenomen aan de eindronde van het wereldkampioenschap voetbal, en zal er op het WK2014 in Brazilië voor het eerst terug bij zijn nadat het zich voor het laatst had kunnen kwalificeren voor de eindronde van het WK2002 in Japan en Zuid-Korea. De eindronde van een wereldkampioenschap begint steeds met een poulefase, waarbij de deelnemende landen over een aantal poules verdeeld worden. Het aantal poules en het aantal landen per poule varieert van kampioenschap tot kampioenschap, maar elke poule krijgt steeds een uniek label toegekend onder de vorm van een hoofdletter uit het alfabet. Binnen elke poule speelt elk land eenmaal tegen elk ander land.

We vragen je om op basis van de uitslagen van een aantal gespeelde wedstrijden een overzicht op te maken van de stand binnen een bepaalde poule. De lijst van gespeelde wedstrijden is opgeslagen in een tekstbestand waarin voor elke wedstrijd op een afzonderlijke regel de volgende informatie gegeven wordt: i) naam van de thuisploeg, ii) naam van de bezoekende ploeg, iii) eindstand van de wedstrijd en iv) de hoofdletter waarmee de poule van de ploegen (landen) gelabeld werd. De verschillende informatievelden van een wedstrijd worden gescheiden door komma's en bij de eindstand wordt het aantal gescoorde doelpunten van beide ploegen gescheiden door een koppelteken (-). Het bestand met de gespeelde wedstrijden bevat verder mogelijks ook lege regels of commentaarregels die starten met hekje (#). Dergelijke regels moeten genegeerd worden.

Bekijk onderstaande voorbeelden om een idee te krijgen van het formaat waarmee een overzicht van de stand voor een bepaalde poule moet opgemaakt worden. Het overzicht moet voor elk land uit de poule de volgende statistieken weergeven: i) aantal gespeelde wedstrijden (P), ii) aantal gewonnen wedstrijden (W), iii) aantal verloren wedstrijden (L), iv) aantal wedstrijden die op een gelijkspel geëindigd zijn (D), v) aantal gescoorde doelpunten (F), vi) aantal tegendoelpunten (A), vii) doelsaldo (S) en viii) aantal punten (Pts). Het doelsaldo is het aantal gescoorde doelpunten min het aantal tegendoelpunten. Voor elke gewonnen wedstrijd krijgt een ploeg drie punten, en voor elk gelijkspel één punt. Bij de weergave moeten de landen binnen een poule gesorteerd worden, eerst volgens dalend aantal punten, daarna volgens dalend doelsaldo en daarna alfabetisch volgens de naam van het land. Verder moet de opmaak er uitzien zoals in de voorbeelden wordt weergegeven, waarbij een tabel getekend wordt en het label van de poule gecentreerd boven de tabel geplaatst wordt.

Opgave

Voorbeeld

Bij onderstaande voorbeeldsessie gaan we ervan uit dat het bestand wereldbeker2010.txt1 zich in de huidige directory bevindt.

>>> statistieken = verwerkWedstrijden('wereldbeker2010.txt')
>>> statistieken['A']
{'Uruguay': [1, 1, 1, 3, 2], 'Mexico': [0, 2, 1, 1, 5], 'France': [2, 0, 1, 6, 2], 'South Africa': [1, 1, 1, 3, 4]}
>>> statistieken['B']
{'Argentina': [2, 1, 0, 3, 2], 'Greece': [3, 0, 0, 3, 0], 'Nigeria': [1, 2, 0, 2, 3], 'South Korea': [0, 3, 0, 0, 3]}
>>> statistieken['F']
{'Paraguay': [2, 0, 1, 5, 2], 'Slovakia': [0, 0, 3, 3, 3], 'New Zealand': [0, 2, 1, 2, 6], 'Italy': [1, 1, 1, 4, 3]}
>>> toonPoule(statistieken, 'A')
                            POULE A                            
+-----------------------+-----+-------------------------+-----+
|                       |   P |   W   L   D   F   A   S | Pts |
+-----------------------+-----+-------------------------+-----+
|                France |   3 |   2   0   1   6   2   4 |   7 |
|               Uruguay |   3 |   1   1   1   3   2   1 |   4 |
|          South Africa |   3 |   1   1   1   3   4  -1 |   4 |
|                Mexico |   3 |   0   2   1   1   5  -4 |   1 |
+-----------------------+-----+-------------------------+-----+
>>> toonPoule(statistieken, 'D')
                            POULE D                            
+-----------------------+-----+-------------------------+-----+
|                       |   P |   W   L   D   F   A   S | Pts |
+-----------------------+-----+-------------------------+-----+
|               Germany |   3 |   2   1   0   5   1   4 |   6 |
|                 Ghana |   3 |   1   1   1   3   3   0 |   4 |
|                Serbia |   3 |   1   1   1   3   4  -1 |   4 |
|             Australia |   3 |   1   2   0   3   6  -3 |   3 |
+-----------------------+-----+-------------------------+-----+
>>> toonPoule(statistieken, 'F', 'pouleF.txt')