Opgave
In kader van het "City of Things" project zijn er in Antwerpen een hele hoop sensoren geplaatst die op verschillende plaatsen de temperatuur en CO2 meten. Het is jouw taak om een programma te schrijven dat meetwaarden inleest uit een CSV bestand en telt hoeveel keer een drempel voor temperatuur of CO2 overschreden wordt.
Gebruik het bestand sensor1.csv om je oplossing lokaal te testen. Bewaar dit bestand in dezelfde folder als de .py bestanden. Het gegeven bestand kan je openen in VSCode en ook in Excel.
Opmerkingen vooraf
- In dit eerste deel wordt geen foutafhandeling gevraagd.
- Er wordt één functie gevraagd. Voeg type hinting toe.
- Er is geen aanroep van de functie gevraagd.
- In Dodona is maar 1 test-case toegevoegd. De oefening wordt dus maar minimaal getest. Een antwoord "correct" betekent dus zeker niet dat je oefening volledig juist is.
Opgave
Schrijf een functie verwerk_sensor
die een CSV bestand inleest en telt hoeveel keer een drempel voor temperatuur of CO2 overschreden wordt. Deze functie heeft vier parameters:
- de eerste parameter bevat de naam van het CSV bestand dat de meetwaarden bevat;
- de tweede parameter beschrijft welke meetwaarden gevraagd zijn: temperatuur ("TEMP") of CO2 metingen ("CO2");
- de derde parameter is de drempelwaarde die moet gecontroleerd worden;
- de vierde parameter beschrijft de correcte eenheid van de gevraagde metingen.
Deze functie bepaalt hoeveel keer de drempel overschreden is voor de soort die werd opgegeven.
Het CSV bestand met de meetwaarden is als volgt opgebouwd: soort;meetwaarde
. De meetwaarde zelf heeft de eenheid als suffix. Hieronder een voorbeeld van de inhoud van zo'n bestand.
TEMP;14,3C
CO2;150PPM
TEMP;15,5C
TEMP;16,5C
Let op!
- De meetwaarde kan een komma (,) bevatten om de decimale cijfers aan te duiden, terwijl dat in Python een punt (.) moet zijn. Hou hiermee rekening in je programma.
- Je mag er voor dit eerste deel van uitgaan dat het bestand bestaat en bovendien de correcte structuur heeft. Je mag ook veronderstellen dat de eenheid altijd correct is.
Er moet dus geen foutafhandeling toegevoegd worden.
Voorbeeld
>>> verwerk_sensor("sensor1.csv","TEMP",10.1,"C")
8