← Python/De eerste bouwstenen
Les 8 van 8
MODULE 01 · 08◷ 18 min

Combineer je kennis in een tijdplanner

Na deze les kun je
  • Tekstinvoer omzetten en in een bericht gebruiken
  • Een tijdsduur in uren en minuten verdelen
  • Een afgeleide waarde berekenen en vergelijken

Je hebt tijd vrijgemaakt om te leren, maar past je lesplan ook als je een pauze neemt? In deze laatste les bouw je een klein overzicht dat die vraag beantwoordt. Je combineert bestaande bouwstenen; er komt geen nieuwe rekenregel bij.

Van vraag naar stappen

Een invoer is de informatie waarmee je programma begint. Het resultaat is wat je ermee wilt bepalen. Schrijf daartussen eerst in gewone taal welke stappen nodig zijn: tekst omzetten, hoeveelheden berekenen, een vergelijking maken en de uitkomst tonen.

Bewaar tussenresultaten onder namen die hun betekenis beschrijven. Dan kun je een fout terugzoeken naar een kleine berekening, in plaats van één lange regel te moeten ontleden. Je programma blijft daardoor ook beter te volgen wanneer je het later opnieuw leest.

De regels die met # beginnen zijn commentaar. Python voert die tekst niet uit; ze leggen voor jou als lezer een bedoeling of stap vast. In de editor wijzen ze aan waar je de onderdelen van je tijdsoverzicht uitwerkt.

Hetzelfde denkwerk, een andere situatie

Stel dat je materialen voor een knutselmiddag verdeelt. Een deel houd je apart, en met de rest maak je pakketten. Het voorbeeld laat zien hoe je van tekst naar een overzicht gaat zonder de antwoorden van jouw tijdsopdracht voor te schrijven.

Pakketten voor een knutselmiddag
raw_pieces = "30"
reserved = 6
per_pack = 5
wanted = 4
pieces = int(raw_pieces)
available = pieces - reserved
print(f"Te verdelen: {available}")
print(f"Pakketten: {available // per_pack}")
print(f"Losse stukken: {available % per_pack}")
print(f"Genoeg: {available >= wanted * per_pack}")
Verwachte uitvoer
Te verdelen: 24
Pakketten: 4
Losse stukken: 4
Genoeg: True

De eerste stap maakt van de cijfertekst een integer. Vervolgens berekent het programma hoeveel materiaal na de reserve beschikbaar blijft. De namen houden die twee hoeveelheden uit elkaar: het oorspronkelijke totaal blijft behouden.

Met // tel je volledige pakketten en met % de losse stukken. De vergelijking onderzoekt of de beschikbare hoeveelheid groot genoeg is voor het gewenste aantal pakketten. De f-strings maken zichtbaar wat ieder resultaat betekent.

Traceer het voorbeeld eens zonder het uit te voeren: dertig stukken, zes apart, dus vierentwintig beschikbaar. Daaruit passen vier pakketten van vijf en blijven vier stukken over. Vier pakketten vragen twintig stukken, waardoor de laatste vergelijking waar is.

Een juiste bewerking op de verkeerde waarde

Soms klopt de operator, maar kies je de verkeerde variabele. Bekijk wat er gebeurt als je de reserve negeert bij het berekenen van het aantal pakketten.

Reken je met de juiste hoeveelheid?
pieces = 30
reserved = 6
per_pack = 5
available = pieces - reserved
print(pieces // per_pack)
print(available // per_pack)
Verwachte uitvoer
6
4

De eerste berekening gebruikt al het materiaal en belooft zes pakketten. De tweede rekent met wat echt beschikbaar is en komt op vier uit. Er verschijnt geen foutmelding, want beide berekeningen zijn geldig; alleen de tweede beantwoordt de praktische vraag.

Gebruik daarom bij elk tussenresultaat de vraag: “Wat stelt deze waarde nu voor?” Bij jouw opdracht moet je de oorspronkelijke totale tijd omzetten naar uren en minuten. Voor de vergelijking met de geplande lessen gebruik je juist de tijd ná de pauze.

Nu jij

De beschikbare minuten komen als tekst binnen via de bekende input()-functie. Codelab test je plan met 95, 87 en 86 minuten; de pauze en de geplande lessen blijven gelijk. Je programma moet dus ook precies genoeg tijd en net te weinig tijd herkennen.

Werk de vier stappen in volgorde af en voer tussendoor je code uit als je een tussenresultaat wilt bekijken. De gevraagde berichten helpen je controleren op welk punt iets afwijkt.

Testinvoer · 3 varianten

Je programma krijgt deze invoer automatisch. Elke variant begint opnieuw. Alle varianten moeten kloppen.

Ruim voldoende: 95 minuten
95
Precies genoeg: 87 minuten
87
Net te weinig: 86 minuten
86
AAN DE SLAG 0/4
1

Lees de beschikbare tijd

Zet raw_minutes om naar total_minutes. Toon op regel 1 Beschikbaar: ... minuten met de ingelezen tijd.

2

Maak de tijd leesbaar

Toon hele uren en de rest in minuten op regel 2. Bij 95 minuten is dat Verdeling: 1 uur en 35 minuten.

3

Houd ruimte voor pauze

Bewaar de totale tijd minus break_minutes in available. Toon op regel 3 Na pauze: ... minuten met die waarde.

4

Controleer of het plan past

Vergelijk available met required. Toon Past: True als er genoeg tijd is (ook precies genoeg), anders Past: False.

Dit neem je mee

  • Verdeel een grotere vraag in kleine berekeningen met duidelijke namen.
  • Gebruik het oorspronkelijke totaal of een tussenresultaat bewust.
  • Controleer niet alleen de rekensom, maar ook wat de uitkomst voorstelt.

Je hebt nu de basisbouwstenen gecombineerd. In de volgende module leer je met voorwaarden kiezen welke code wordt uitgevoerd en met lussen werk herhalen.

main.py
UitvoerPython
›
›_

Hier komt je resultaat.

Voer je code uit en ontdek
wat je hebt gemaakt.

0/4 stappen
EVEN MEEKIJKEN

Bekijk hoe het kan.

Je mag de oplossing bekijken. Deze poging telt dan niet mee als afgeronde les. Met Reset kun je daarna opnieuw zelf oefenen.