Werkboek — Hoofdstuk 2: Invoer en uitvoer
Let op: alle programmacode schrijf je in het Engels (zoals in het boek). De uitleg en opdrachten zijn in het Nederlands.
Doel van dit hoofdstuk
- Invoer lezen met
input()en tekst schoonmaken met.strip(). - Typeconversie toepassen (
int,float) en waar nodig komma → punt omzetten. - Resultaten netjes weergeven met
print()en f-strings (incl. formaat-specificaties). - Uitvoer beheren met
sep,end,flush, en schrijven naarstderr. - Basisbewustzijn van Unicode/encodering en command-line argumenten (teaser).
Richtlijnen
- Gebruik duidelijke, Engelstalige variabelen- en functienamen.
- Toon duidelijke labels in de uitvoer; formatteer geldbedragen en percentages net.
- Als een opdracht het expliciet vraagt: sta komma als decimaalteken toe door te vervangen met een punt.
Oefening 1 — Begroeting
Vraag de gebruiker om voornaam en print: Hello, <First>! met een f-string. Trim spaties.
Oefening 2 — Volledige naam
Vraag voornaam en achternaam (twee keer input). Print twee varianten:
Last, FirstFirst LastGebruik f-strings.
Oefening 3 — Bedrag netjes tonen (komma of punt)
Vraag een bedrag (tekst kan komma of punt bevatten). Zet om naar float (vervang komma door punt) en print Amount: <bedrag> met 2 decimalen.
Oefening 4 — Percentage format
Vraag een decimaal getal (bijv. 0.075) en druk het af als percentage met precies één decimaal, bijv. Rate: 7.5%.
Oefening 5 — Kleine bon (uitlijning) Vraag drie keer: productnaam, aantal (int), prijs per stuk (float, komma toegestaan). Print daarna een kleine tabel:
- Kopregel met kolommen
Item,Qty,Price,Total. - Eén regel per product met nette uitlijning en prijzen met 2 decimalen. Tip: gebruik f-string veldbreedtes zoals in het boek.
Oefening 6 — Print parameters
Print de letters a, b, c op één regel, gescheiden door , , en eindig met ! (dus: a, b, c!). Gebruik print(..., sep=..., end=...).
Oefening 7 — Voortgangspunten
Print vijf punten ..... zonder newlines ertussen, door end='' en flush=True te gebruiken in een kleine herhaling. (Je mag vijf print-aanroepen uitschrijven of een eenvoudige range‑lus gebruiken.)
Oefening 8 — Foutmelding via stderr
Vraag om een geheel getal. Als de conversie met int(...) faalt, schrijf een bericht naar stderr met een duidelijke waarschuwing, anders print OK: <n> naar stdout.
Oefening 9 — Unicode check
Print een korte string met speciale tekens, bijvoorbeeld: café • naïve • € • λ. Leg kort in een comment uit wat je verwacht te zien.
Oefening 10 — Command-line argument (teaser)
Schrijf een script dat een naam uit sys.argv[1] leest als die aanwezig is, anders world gebruikt. Print Hello, <name>!.
Uitdaging (optioneel) — Totaal met BTW en korting
Vraag amount (float, komma toegestaan) en discount (percentage als 0–100). Bereken: eerst korting toepassen, dan 21% btw toevoegen. Print een keurig overzicht met:
Amount:,Discount:,After discount:,VAT (21%):,Total:Formatteer bedragen met twee decimalen en het percentage met één decimaal.