Lijsten + lussen
Gebruik de pijlen om tussen de dia's te wisselen.
Tekst van deze dia
PROGRAMMEREN • 3E & 4E MIDDELBAAR
Lijsten + lussen
Van playlist naar slim programma
LES 14 • LEVEL 14
Tekst van deze dia
STARTVRAAG
Stel je dit eens voor…
Een herkenbaar probleem, een slimme oplossing.
HET VERHAAL
Je hebt scores van vijf spelers. Kun je snel de totale score berekenen?
Hoe behandel je elk item zonder vijf keer dezelfde code te typen?
Tekst van deze dia
ONZE MISSIE
Vandaag kan jij…
Drie doelen. Helemaal haalbaar, stap voor stap.
1
met for door een lijst lopen
2
een totaal berekenen
3
in gebruiken om iets te zoeken
EINDMISSIE • MAAK ZELF IETS!
Tekst van deze dia
NIEUW IDEE
Loop langs alle items
Eerst begrijpen wat de instructie betekent.
Een for-lus kan rechtstreeks door elk item van een lijst lopen.
ONTHOUD
De naam held krijgt om de beurt ieder item.
Tekst van deze dia
LIVE CODEREN
Van idee naar werkende code
Lees mee. Voorspel samen de uitvoer en voer dan uit.
les14_voorbeeld_a.py
helden = ["Ada", "Noor", "Kai"]
for held in helden:
print("Welkom", held)
DENKVRAAG
De naam held krijgt om de beurt ieder item.
Tekst van deze dia
RAAD DE UITVOER
Wat zal Python tonen?
Wat is het totaal?
voorspel.py
scores = [2, 4, 6]
totaal = 0
for score in scores:
totaal += score
print(totaal)
DENK → OVERLEG → ANTWOORD
Tekst van deze dia
OPLOSSING
En dit verschijnt op het scherm!
Vergelijk met je voorspelling.
uitvoer (geen Python-code)
WAAROM?
Bij elke ronde komt de volgende score bij het totaal.
Tekst van deze dia
LEVEL UP
Zoeken in een lijst
Een extra Python-truc waarmee je meer kunt.
Met in test je of een waarde in de lijst voorkomt.
TIP
in geeft een boolean terug.
Tekst van deze dia
ZO WERKT HET
Nog een codevoorbeeld
Lees de code. Wat verandert er ten opzichte van het vorige voorbeeld?
les14_voorbeeld_b.py
fruit = ["appel", "peer", "banaan"]
if "peer" in fruit:
print("Gevonden!")
DE TRUC
in geeft een boolean terug.
Tekst van deze dia
JIJ PROBEERT
Mini-opdrachten
Werk rustig. Test telkens na een kleine wijziging.
1
Maak een lijst met vier scores.
2
Toon elke score op een aparte regel.
3
Bereken de som met een for-lus en totaal += score.
6–8 MINUTEN • EERST ZELF
Tekst van deze dia
DEBUGCHALLENGE
Python zegt: er is iets mis!
Speel detective: zoek de fout vóór je het programma uitvoert.
zoek_de_fout.py
scores = [4, 7, 2]
totaal = 0
for score in scores:
totaal = score
print(totaal)
SPOTTED DE FOUT? • 90 SECONDEN
Tekst van deze dia
DEBUG-OPLOSSING
De verbeterde versie
Kleine correcties kunnen een groot verschil maken.
gecorrigeerd.py
scores = [4, 7, 2]
totaal = 0
for score in scores:
totaal += score
print(totaal)
WAT WAS FOUT?
Met = overschrijf je het totaal; met += tel je erbij.
Tekst van deze dia
EINDMISSIE
Scorebord
Bereken en toon het resultaat van meerdere game-rondes.
1
Bewaar minstens vier scores in een lijst.
2
Doorloop de lijst met for.
3
Tel alle scores bij elkaar op.
4
Toon totaal en gemiddelde.
EERST WERKEND → DAN MOOIER
Tekst van deze dia
VOORBEELD
Zo kan jouw oplossing eruitzien
Er bestaan meerdere correcte oplossingen. Vergelijk vooral de aanpak.
les14_oplossing.py
scores = [8, 6, 9, 7]
totaal = 0
for score in scores:
totaal += score
gemiddelde = totaal / len(scores)
print("Totaal:", totaal)
print("Gemiddelde:", gemiddelde)
Tekst van deze dia
EXTRA CHALLENGE
Klaar? Level up!
Kies één extra uitdaging of help je klasgenoot met een tip.
BONUSOPDRACHT
Zoek met in of een bepaalde score in de lijst staat.
Het werkt — Test je programma met normale invoer.
Maak het sterker — Test ook eens een onverwacht antwoord.
Maak het eigen — Pas namen, teksten of vormgeving aan.
Tekst van deze dia
CHECK-OUT
Wat neem je mee?
Antwoord zonder spiekbriefje. Je hoeft niet alles al perfect te kunnen.
1
Wat krijgt de lusvariabele in for x in lijst?
2
Waarvoor dient totaal += x?
3
Wat doet "peer" in fruit?
VOLGENDE KEER Les 15: je eigen functies