Populatiedynamica 8

Sets en dictionaries

Om een overzicht te hebben van verschillende populaties van diersoorten gaan we deze data verzamelen in een dictionary.

Bijvoorbeeld: diersoort = Leeuw, populatienaam = Serengeti of populatienaam = Kalahari

Opdracht

Schrijf een Python-script dat de volgende functionaliteiten bevat.

1) Schrijf een functie toevoegen_populatie die een nieuwe diersoort en/of populatienaam toevoegt aan een dictionary genaamd populaties. De functie moet volgende inputparameters hebben:

Als de diersoort al in de dictionary populaties voorkomt, voeg je de populatienaam toe aan de set van populaties voor deze diersoort. Als de diersoort nog niet in de dictionary staat, voeg je deze soort en een set van de populatienamen toe als key:value-paar.

2) Schrijf een functie verwijderen_populatie die een diersoort en/of populatienaam uit de dictionary populaties verwijdert. De functie moet de volgende inputparameters hebben:

Als enkel de diersoort wordt opgegeven, zal deze diersoort en de hele set aan populatienamen verwijderd worden uit de dictionary. Als zowel een diersoort als populatienaam wordt opgegeven, wordt enkel deze populatienaam verwijderd uit de set. Als de diersoort niet in populaties voorkomt of als de opgegeven populatienaam niet voorkomt in de set van populatienamen voor die diersoort, moet de functie een foutmelding weergeven.

Voorbeelden

>>> populaties = {'Leeuw': {'Serengeti', 'Kalahari'}, 'Olifant': {'Amboseli'}}
>>> toevoegen_populatie(populaties, 'Konikpaard', 'Meerdaalwoud')
>>> populaties
{'Leeuw': {'Kalahari', 'Serengeti'}, 'Olifant': {'Amboseli'}, 'Konikpaard': {'Meerdaalwoud'}}
>>> verwijderen_populatie(populaties, 'Konikpaard')
>>> populaties
{'Leeuw': {'Kalahari', 'Serengeti'}, 'Olifant': {'Amboseli'}}
>>> verwijderen_populatie(populaties, 'Zebra')
AssertionError: De opgegeven diersoort komt niet voor in de dictionary.