Het bestand
provincieSteden.txt bevat voor alle steden/gemeenten uit Belgiƫ
de postcode en de provincie waarin de gemeente/stad ligt.
Bewaar dit bestand in dezelfde folder als de
.py bestanden.
Het is de bedoeling alle gemeenten te bepalen met een bepaalde postcode.
Opgave
Schrijf de procedure
schrijf_gemeenten(postcode)
die het bestand
provincieSteden.txt inleest. Enkel de naam van de gemeenten/steden met de
opgegeven
postcode worden naar het scherm geschreven. Deze methode geeft dus niets terug!
Opmerkingen
- Je mag veronderstellen dat het bestand provincieSteden.txt bestaat en juist gestructureerd is (geen
foutafhandeling).
- Je mag veronderstellen dat een postcode uit exact 4 cijfers bestaat.
- Indien geen enkel gemeente de opgegeven postcode heeft wordt de boodschap "Geen enkele"
uitgeschreven.
Voorbeeld
>>> schrijf_gemeenten(9070)
Destelbergen
Heusden
Tips
Ik vind het juiste type niet voor de parameters van deze functie.
def schrijf_gemeenten(postcode: int) -> None:
Ontbreekt er geen parameter met de bestandsnaam
?
Neen, je moet altijd het bestand "provincieSteden.txt" inlezen.
Je mag dit "hardcoderen" in de code.
Hoe kan ik weten of de gegeven postcode voorkomt op een lijn
Twee manieren:
- Zoek met
find
de positie van de spatie, en gebruik string slicing om het juiste deel te
selecteren. Je
weet dat de postcode exact 4 cijfers bevat.
- Splits de lijn met behulp van de methode
split()
en neem het tweede deeltje uit de lijst.
Er wordt geen enkele gemeente gevonden. Graag een tip!
De parameter bevat een geheel getal - de postcode in het bestand is een string!
Niet alle testen zijn correct. Wat zou ik verkeerd doen?
Er zijn steden die in hun naam een spatie bevatten zoals
West-Vlaanderen 8420 De Haan
Hoe kan ik weten dat een bepaalde postcode NIET voorkomt?
- Voeg een (logische) variabele toe die je initialiseert op
False
.
- Vanaf je de postcode gevonden hebt, zet je die variabele op
True
.
- Op het einde ga je na wat de inhoud is van die variabele.