Populatiedynamica 7

Functies met optionele parameters

Soms wordt de input van oefening 6 niet steeds met een komma als scheidingsteken gegeven. Om de optie te hebben om de data op een andere manier in te geven, pas je het script van oefening 6 aan met een optionele parameter scheidingsteken. De output van het script is hetzelfde als oefening 6.

Opdracht

Schrijf een Python-script dat de volgende functionaliteiten bevat.

  1. De functie heeft een string als eerste inputargument:

    “Naampopulatie, startaantal, groeisnelheid, draagkracht”

    Deze string wordt door de functie omgezet naar een lijst van volgende vorm:

    [Naampopulatie, startaantal, groeisnelheid, draagkracht]

  2. Vul vervolgens de functie uit oefening 6 aan met een optionele inputparameter scheidingsteken. Als deze parameter niet meegegeven wordt, gebruik dan een komma (“,”) als standaardwaarde.
  3. Zorg dat de strings ook omgezet worden naar integers en floats indien nodig.
  4. Maak een nieuwe variabele ‘naam’ die de populatienaam bevat en verwijder de naam uit de lijst.
  5. Vul de lijst aan met volgende twee elementen:

    a. Het tijdstip waarop 99% van de draagkracht wordt bereikt

    b. Het bijhorende aantal

    Aanname: de populatie kent begrensde groei.

    \[N_t = \frac{K}{1 + (\frac{K}{N_0}-1)* e^{-r*t}}\]
  6. De functie geeft de naam en de lijst met waarden terug. Print dit ook in een zin.

Data olifanten: [7806, 0.039, 50000, 162, 49517]

voorbeeld

  >>> vul_lijst_aan_met_max_tijdstip(Olifanten-7806-0.039-50000","-")
  > Data olifanten: [7806, 0.039, 50000, 162, 49517]
  >>> vul_lijst_aan_met_max_tijdstip(giraffen,5603,0.026,6000")
  > Data giraffen: [5603, 0.026, 6000, 179, 5995]
  >>> vul_lijst_aan_met_max_tijdstip("Leeuwen%5003%0.030%10000", "%")
  > Data leeuwen: [5003, 0.03, 10000, 176, 9949]