Een CSV bestand heeft volgende structuur:

Stad;Land;Inwoners
Het land wordt hierbij gecodeerd als een string van 2 letters, namelijk:

Schrijf een functie inwoners() met 2 argumenten, namelijk:

Het resultaat van de functie is een woordenboek, met als sleutel de landcode. De bijhorende waarde is een lijst van tuples. Elk van de tuples bestaat uit 2 componenten, namelijk :

In het woordenboek komen per land enkel de n meest bevolkte steden voor, en de tuples zijn gerangschikt in dalende volgorde van aantal inwoners. Indien er in het oorspronkelijke bestand minder dan n steden van een land voorkomen, dan worden alle steden opgenomen in het woordenboek. Indien er geen steden van een land voorkomen, komt de bijhorende sleutel in het woordenboek niet voor.

De bestanden die Dodona gebruikt in de testcases vind je in het gecomprimeerde bestand MeesteInwoners.zip1.

Voorbeeld

Inhoud van het bestand 'Steden_in.csv':
Stad;Land;Aantal Inwoners
Veldhuizen;NL;9460
Oegstgeest;NL;21149
Seraing;BE;60737
Eeklo;BE;19116
Peruwelz;BE;16647
De Panne;BE;9799
resultaat van de functie inwoners()
inwoners('Steden_in.csv', 2) = 
{'BE': [('Seraing', 60737), ('Eeklo', 19116)], 'NL': [('Oegstgeest', 21149), ('Veldhuizen', 9460)]}

inwoners('Steden_in.csv', 4)
{'BE': [('Seraing', 60737), ('Eeklo', 19116), ('Peruwelz', 16647), ('De Panne', 9799)], 'NL': [('Oegstgeest', 21149), ('Veldhuizen', 9460)]}