In deze oefening bouwen we een woordfrequentietabel van een tekst. Hiertoe gaan we na hoe veel keer elk woord in een
tekst voorkomt. Dit resultaat stockeren we in een woordenboek, met als sleutels woorden uit de tekst, en als waarden het
aantal keer dat elk woord voorkomt.
De te analyseren tekst is opgeslagen in een bestand. Open dit bestand (via de gekende bestandsbewerkingen), en verwerk
dit bestand lijn per lijn. Hiertoe splits je elke lijn op in individuele woorden, en pas je voor de gevonden woorden
het woordenboek aan. Dit splitsen doe je als volgt:
'{', '}', '[', ']', '(', ')', '+', '=', '-', '*'
door een spatie
',', '.', ';', ' ' (spatie), ':',
'!', '?', '\n' (nieuwe regel)
(maak gebruik van de
oplossing van de oefening "Meervoudig Splitsen")
frequentietabel()
die een dergelijk woordenboek teruggeeft. Het enig argument van deze functie
is een string die de naam van het te analyseren bestand bevat.
De bestanden die Dodona gebruikt in de testcases vind je in het gecomprimeerde bestand frequentietabel.zip1.
frequentietabel('Tekst0.txt') = {'python': 1, 'purpose': 1, 'such': 1, 'philosophy': 1, 'emphasizes': 1, 'as': 1, 'provides': 1, 'concepts': 1, 'syntax': 1, 'its': 2, 'languages': 1, 'scale': 1, 'allows': 1, 'programming': 1, 'high': 1, 'java': 1, 'large': 1, 'code': 2, 'and': 2, 'is': 1, 'of': 1, 'language': 2, 'dynamic': 1, 'widely': 1, 'design': 1, 'lines': 1, 'fewer': 1, 'intended': 1, 'interpreted': 1, 'constructs': 1, 'a': 2, 'on': 1, 'general': 1, 'small': 1, 'express': 1, 'or': 1, 'level': 1, 'possible': 1, 'programmers': 1, 'readability': 1, 'in': 2, 'clear': 1, 'to': 2, 'c': 1, 'programs': 1, 'both': 1, 'writing': 1, 'used': 1, 'than': 1, 'enable': 1, 'the': 1}