π Voorbeeld - Uitwisselingsproject: aantal Chinese studenten π¨π³
Voor een internationaal uitwisselingsproject in de zomer hebben studenten uit verschillende landen zich kandidaat gesteld. Samantha houdt per nationaliteit bij hoeveel studenten zich hebben ingeschreven. Dit doet ze door een map te gebruiken, waarbij de nationaliteit als sleutel fungeert en het aantal studenten als waarde.
studenten = { 'Frans': 4, 'Boliviaans': 2, 'Duits': 1, 'Chinees': 2, 'Canadees': 3 }
Samantha wil controleren of er Chinese studenten deelnemen aan het uitwisselingsprogramma. Ze kan dit eenvoudig nagaan door te kijken of de sleutel
'Chinees'
voorkomt in de dictionary. Dit doet ze met de in-operator.studenten = { 'Frans': 4, 'Boliviaans': 2, 'Duits': 1, 'Chinees': 2, 'Canadees': 3 } print('Zijn er Chinese studenten? ', 'Chinees' in studenten)
β Opdracht: Voer bovenstaande code uit in de sandbox. Wat krijg je als uitvoer? Probeer daarna hetzelfde met een nationaliteit die niet in de dictionary staat. Wat gebeurt er?
π Voorbeeld - Uitwisselingsproject: aantal Boliviaanse studenten π§π΄
Samantha wil weten hoeveel Boliviaanse studenten zich hebben aangemeld. Ze kan dit doen door de waarde van de sleutel
'Boliviaans'
op te vragen via studenten[βBoliviaansβ].studenten = { 'Frans': 4, 'Boliviaans': 2, 'Duits': 1, 'Chinees': 2, 'Canadees': 3 } print('Er zijn', studenten['Boliviaans'], 'Boliviaanse studenten.')
π΄ Opgelet! Als je een sleutel opvraagt die niet in de dictionary voorkomt, krijg je een foutmelding.
β Opdracht: Probeer in de sandbox een nationaliteit op te vragen die niet in de dictionary voorkomt. Wat gebeurt er? Hoe zou je dit kunnen vermijden?
π Voorbeeld - Uitwisselingsproject: nieuwe Canadese student π¨π¦
Een extra Canadese student schrijft zich in. Samantha kan de waarde van de sleutel
'Canadees'
verhogen door er 1 bij op te tellen.studenten = { 'Frans': 4, 'Boliviaans': 2, 'Duits': 1, 'Chinees': 2, 'Canadees': 3 } studenten['Canadees'] += 1 print(studenten)
β Opdracht: Voer deze code uit en bekijk het resultaat. Zie je dat het aantal Canadese studenten is aangepast?
π Voorbeeld - Uitwisselingsproject: drie Spaanse studenten πͺπΈ
Nu melden zich drie Spaanse studenten aan. Zij zitten nog niet in de dictionary.
Omdat de sleutel'Spaans'
nog niet bestaat, moet Samantha deze eerst toevoegen.studenten = { 'Frans': 4, 'Boliviaans': 2, 'Duits': 1, 'Chinees': 2, 'Canadees': 3 } studenten['Spaans'] = 3 print(studenten)
β Opdracht: Voer deze code uit en controleer of de Spaanse studenten correct zijn toegevoegd.
π§ Denkoefening - Uitwisselingsproject: Spaanse studenten updaten πͺπΈ
Stel dat zich drie Spaanse studenten aanmelden en Samantha de map wil bijwerken zoals ze eerder bij de Canadese student deed:
studenten = { 'Frans': 4, 'Boliviaans': 2, 'Duits': 1, 'Chinees': 2, 'Canadees': 3 } studenten['Spaans'] += 3 print(studenten)
β Verwacht je dat dit zal werken? Waarom wel of waarom niet?
Denk er eerst over na. Voer daarna de code uit en bekijk het resultaat. Is dit wat je had verwacht? Waarom werkt dit anders dan bij de Canadese studenten?
π Voorbeeld - Uitwisselingsproject: nationaliteiten
Samantha wil graag een overzicht van alle verschillende nationaliteiten die deelnemen aan het uitwisselingsprogramma.
Dit kan eenvoudig met de methodekeys()
, die een lijst van alle sleutels in de map teruggeeft.studenten = { 'Frans': 4, 'Boliviaans': 2, 'Duits': 1, 'Chinees': 2, 'Canadees': 3 } print(studenten.keys())
β Opdracht: Voer deze code uit. Wat geeft de functie
keys()
terug?
Net zoals je met keys()
de sleutels kan opvragen, kan je met values()
de bijbehorende waarden (het aantal studenten per nationaliteit) opvragen.
π» Programmeeroefening - Aantallen
Schrijf een functie
aantal_studenten()
die geen parameters neemt.
- Maak binnen de functie een map
studenten
met de oorspronkelijke waarden zoals weergegeven in het eerste voorbeeld op deze pagina.- Gebruik
studenten.values()
om de aantallen van de studenten te verkrijgen.- Gebruik de functie
sorted()
om de waarden van laag naar hoog te ordenen.- Laat de functie deze waarden retourneren.