Herneem de oefening
Vervoer:
Informatie uit csv-bestand verwerken.
Nu kan het bestand niet bestaan, of het kan lijnen bevatten met foute informatie. Volgende fout-afhandeling is
gewenst voor de functie aantal_overladen(bestandsnaam):
- De functie mag nooit een fout opwerpen.
- Als het bestand niet gevonden wordt geeft de functie 0 terug.
- Het bestand kan lijnen bevatten die niet voldoen aan het stramien (te weinig of teveel kolommen - verkeerde
waarden voor getallen). Zorg dat je geen fout krijgt hierdoor, maar negeer de regels die fouten bevatten, en ga
verder met de verwerking van het bestand.
Opdracht
- Schrijf eerst de logische functie is_truck_overladen die één regel analyseert van het
bestand. Elke fout die daarbij voorkomt wordt in deze functie opgevangen. De functie geeft False
:
- als de regel NIET met MT start: dit is zeker geen MT is, dus ook niet overladen.
- als de regel WEL met MT start, maar de regel kan niet juist geparsed worden.
- als er geen fouten staan in de regel en de truck is niet overladen.
De functie geeft dus enkel True als de lijn correcte informatie bevat over een truck (MT) die
overladen is.
- Pas de functie aantal_overladen(bestandsnaam) aan. Ze gebruikt de functie
is_truck_overladen voor elke regel van het bestand en zorgt voor de fout-afhandeling die hiervoor werd
beschreven.
Tip: Voeg zelf lijnen toe in het bestand om te controleren of de foute lijnen herkend worden, en de functie
niet stopt.
Voorbeelden van is_truck_overladen
>>> is_truck_overladen("MT;2696;1145;4504;577")
False
>>> is_truck_overladen("MT;578;57gf;587")
False
>>> is_truck_overladen("TR;1000;300")
False
>>> is_truck_overladen("MT;1000;5000;5500")
True