Schrijf de functie
geeflijn(bestandsnaam, lijnnummer)
die het opgegeven bestand opent en één
lijn teruggeeft.
De eerste parameter
bestandsnaam
bevat de naam van het bestand.
De tweede parameter
lijnnummer
bevat het lijnnummer van de gewenste lijn (zie opmerkingen).
Opmerkingen
- Je mag veronderstellen dat het bestand bestaat en correct kan geopend worden.
- Indien
lijnnummer
groter is dan het aantal lijnen in het bestand wordt een lege string
teruggegeven.
- Indien het
lijnnummer
negatief is wordt de laatste lijn van het bestand teruggegeven.
Voorbeelden
>>> geeflijn('zenPython.txt', 5)
Simple is better than complex.
>>> geeflijn('zenPython.txt', -1)
Namespaces are one honking great idea -- let's do more of those!
Tips
Ik vind het juiste type niet voor de parameters van deze functie.
def geeflijn(bestandsnaam: str, lijnnummer: int) -> str:
Hoe kan ik de lijnen tellen?
- Voeg een variabele
tel
toe
- Telkens je een lijn inleest verhoog je die variabele met 1
Mag ik een lijst gebruiken?
In deze oefening kan je dit overwegen. Maar bij heel grote bestanden neemt een lijst wel heel veel plaats in, en zal
je altijd het volledig bestand inlezen, ook al heb je enkel de eerste lijn nodig.
Kan ik het inlezen stoppen als ik de juiste lijn gevonden heb?
Ja, je kan met return...
de lus en de functie verlaten.
De oplossing lijkt oke, maar wordt niet aanvaard in Dodona. Een tip graag!
Verwijder whitespace op het einde van de lijn met .strip()
- anders wordt een extra 'newline'
toegevoegd.
Hoe weet ik wat de laatste lijn is van een bestand?
- Lees de lijnen van het bestand één voor één in en sla die telkens op
in een variabele, die je definieert vooraleer de for-lus begint.
- Als het bestand volledig ingelezen is, bevat die variabele de laatste lijn.