In een CSV-bestand worden de scores van een aantal vakken bijgehouden. De eerste lijn van het bestand bevat de hoofding van elke kolom, namelijk:

Voornaam;Familienaam;Score 1;Score 2; ... 

Dan volgt een reeks rijen, met op elke rij de gegevens van een student.

Schrijf een functie verwerk_scores() met als argumenten:

Voeg volgende zaken toe aan de tabel:

Gebruik onderstaande uitdrukkingen om gemiddelde en spreiding te schatten voor een rij $$a$$:

$$ $$

$$m = \frac{1}{N} \sum_{i = 0}^{N-1} a_i$$

en

$$s^2 = \frac{1}{N-1} \sum_{i = 0}^{N-1} (a_i - m)^2$$

In het uitvoerbestand (opnieuw in CSV-formaat, met als scheidingskarakter ';'), komen de studenten voor in originele volgorde. Reƫle getallen worden met 2 cijfers na de komma weergegeven. Het invoerbestand kan gegevens met meer of minder decimalen bevatten.

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

Voorbeeld

verwerk_scores('Scores_0_in.csv', 'Scores_0_out.csv', [3, 3, 1]) =
Inhoud 'Scores_0_in.csv'

Voornaam;Familienaam;Analyse;Biologie;Fysica
Vanya;De Jonge;18,0;12,0;3,0
Ode;Cornelissen;0,0;14,0;5,0
Greet;Bomans;3,0;12,0;6,0
Bart;Vrielinck;5,0;18,0;15,0
Miriam;Geeraert;2,0;11,0;11,0


Inhoud 'Scores_0_out.csv'

Voornaam;Familienaam;Analyse;Biologie;Fysica
Vanya;De Jonge;18,00;12,00;3,00;93,00
Ode;Cornelissen;0,00;14,00;5,00;47,00
Greet;Bomans;3,00;12,00;6,00;51,00
Bart;Vrielinck;5,00;18,00;15,00;84,00
Miriam;Geeraert;2,00;11,00;11,00;50,00
;;5,60;13,40;8,00;65,00
;;7,16;2,79;4,90;21,74