In de vorige les kwam invoer door de gebruiker aan de orde, maar we hebben niet echt uitgelegd hoe de invoer van de gebruiker wordt verkregen. In Python typt de gebruiker één regel met invoer per keer. Je dient de functie
te gebruiken om een regel invoer van de gebruiker te verkrijgen. De functie input()
input()
neemt geen argumenten en geeft altijd een str
(een tekenreeks) terug als resultaatwaarde.
Op deze website moet alle invoer worden gespecificeerd voordat het programma wordt uitgevoerd. Maar als je Python thuis uitvoert dan zal input() het programma pauzeren en wachten totdat de gebruiker een regel tekst intypt. |
Hier is een voorbeeld van het gebruik van input()
om invoer te verkrijgen. Het nakijkprogramma zal automatisch zelf de invoer voor het programma bepalen.
Merk op dat in de laatste testcase, de tweede invoerregel niet werd ingelezen, vanwege het feit dat input()
slechts één keer werd aangeroepen. Door input()
meerdere malen aan te roepen, kun je meerdere regels invoeren.
Van nu af aan kun je bij de meeste oefeningen je eigen testdata invoeren; hier volgt een eenvoudig voorbeeld. Zoals we in les 4 zagen, kan de string die via input()
wordt verkregen worden omgezet in een int
of indien gewenst in een float
.
Probeer het volgende: druk op de knop Tik invoer in hierboven. Laat het invoervenster leeg, of verwijder alle tekst die je hebt ingetypt. Druk dan op: Test uitvoeren. Je dient dan een foutmelding te krijgen zoals:
EOFError: EOF when reading a lineDe afkorting EOF staat voor End Of File (einde van het bestand). Deze foutmelding krijg je als je programma invoer probeert te lezen wanneer het einde van de invoer al bereikt is.
Bij de volgende oefening wordt je gevraagd om het programma, dat niet werkt, te debuggen (de fout(en) eruit te halen) en te doen werken. Merk op dat de bug (fout) geen typefout is, maar eerder een logische fout: het ontwerp van het programma is niet correct; je moet het ontwerp enigszins aanpassen.
Je kunt doorgaan met de volgende les; die gaat over
-opdrachten.if