Tijdens een wandeling van punt A naar punt B verandert de hoogte regelmatig. Je krijgt een lijst met hoogtemeters van opeenvolgende checkpoints. Een checkpoint is een dal als het lager is dan zowel het vorige als het volgende checkpoint; een checkpoint is een piek als het hoger is dan zowel het vorige als het volgende checkpoint. Schrijf een functie aantal_pieken_en_dalen(hoogtes) die een tuple (aantal_pieken, aantal_dalen) teruggeeft. De invoer is een lijst van hoogtes; de lijst zal nooit minder dan 3 checkpoints bevatten.
De wandelingen gebeuren steeds in een lus. Dit betekent dat het eerste en het laatste checkpoint ook buren zijn.
>>> aantal_pieken_en_dalen([423, 455, 420, 425, 414, 420])
(2,2)
Voor deze hoogtes zijn er twee pieken: 455 en 425; en 2 dalen: 414 en 420
>>> aantal_pieken_en_dalen([210, 245, 230, 250, 235, 260, 240])
(3,2)
Voor deze hoogtes zijn er drie pieken: 245, 250, 260; en drie dalen: 210, 230, 235
Een lijst van gehele hoogtes (ints) met minimaal 3 elementen. Hoogtes zijn in meters en gelijke opeenvolgende waarden zijn toegestaan; bij het bepalen van pieken en dalen wordt een strikte vergelijking gebruikt (een piek is strikt hoger dan beide buren, een dal is strikt lager dan beide buren).
Een tuple van twee gehele getallen: (aantal_pieken, aantal_dalen).
De eerste waarde is het aantal pieken, de tweede het aantal dalen. Beide waarden zijn ≥ 0 en worden als tuple teruggegeven (bijv. (2, 1)).