Drop links or images here to add them to the editor.

Gegeven

Eén van Erik zijn lievelingsvakken op school is Informaticawetenschappen. Ze leren hier heel veel verschillende zaken waar ze in het dagelijkse leven ongelofelijk veel mee zijn! Zo leert hij niet alleen programmeren in Python, hij leert hier ook het één en ander bij over de verschillende algoritmes die sociale mediaplatformen drijvende houden en vooral een invloed hebben op het verslavende element van deze platformen.

Alle sociale media op Eriks GSM.

Opgave

We bekijken van een paar sociale media-accounts of deze lineair of exponentieel groeien. Schrijf de functie bepaal_groei(volgers) die bekijkt welk patroon de groei volgt en de volgende 3 elementen berekent.

De volgers zullen altijd ofwel perfect lineair ofwel perfect exponentieel groeien.

Bij een lineaire groei is het verschil tussen alle elementen telkens even groot. Je krijgt dan bijvoorbeeld [1, 2, 3, 4, 5] of [1, -3, -7, -11].

Bij een exponentiële groei is het quotiënt tussen alle opeenvolgende elementen telkens even groot. Je krijgt dan bijvoorbeeld [1, 2, 4, 8, 16, 32] of [-2, 6, -18, 54, -162]

Voeg de volgende 3 elementen uit de lijst toe om de groei verder te voorspellen en return de lijst.

Je mag ervan uitgaan dat alle getallen & groeicoëfficiënten gehele getallen zijn & dat de gegeven lijst minstens 3 waarden bevat.

Voorbeelden

>>> bepaal_groei([1, 2, 3, 4, 5])
[1, 2, 3, 4, 5, 6, 7, 8]
>>> bepaal_groei([1, -3, -7, -11])
[1, -3, -7, -11, -15, -19, -23]
>>> bepaal_groei([1, 2, 4, 8, 16, 32])
[1, 2, 4, 8, 16, 32, 64, 128, 256]
>>> bepaal_groei([-2, 6, -18, 54, -162])
[-2, 6, -18, 54, -162, 486, -1458, 4374]

Tips

  • Om een getal om te vormen naar een geheel getal kan je ofwel round(getal) ofwel int(getal) gebruiken.