Aan de Loránd Eötvös1-universiteit in Boedapest (Hongarije) worden bezoekers meegenomen in een oneindig verhaal dat verteld wordt door een boek met bladzijden van water.

fontein
Fontein in Boedapest die zelf de waterige bladzijden van het boek omslaat.

Opgave

Een verwijzing naar een aantal opeenvolgende bladzijden uit een boek wordt doorgaans genoteerd als m–n, waarbij $$m \in \mathbb{N}_0$$ verwijst naar het volgnummer van de eerste bladzijde en $$n \in \mathbb{N}_0$$ naar het volgnummer van de laatste bladzijde (met $$m < n$$). Een verwijzing naar één enkele bladzijde met volgnummer $$m$$ wordt eenvoudigweg genoteerd als m (we schrijven dus nooit m–m).

Als de volgnummers $$m$$ en $$n$$ uit evenveel cijfers bestaan, dan wordt de notatie vaak afgekort door de langste gemeenschappelijke prefix in de cijfers van $$m$$ en $$n$$ weg te laten in $$n$$. Zo kan de notatie 1234–1247 bijvoorbeeld afgekort worden tot 1234–47. Daarbij werd de langste gemeenschappelijke prefix 12 weggelaten uit 1247. We kunnen dus ook makkelijk herkennen dat m–n een afkorting is aan het feit dat in dat geval $$m > n$$.

Gevraagd wordt om de volgende vier functies te schrijven, waaraan telkens een verwijzing naar een aantal opeenvolgende bladzijden uit een boek (str) moet doorgegeven worden. Dit kan ofwel een verwijzing naar één pagina of naar meer pagina's zijn, en in dat laatste geval kan zowel de lange notatie als de afgekorte notatie gebruikt worden.

Voorbeeld

>>> bladzijden('1234')
(1234, 1234)
>>> bladzijden('1234-1247')
(1234, 1247)
>>> bladzijden('1234-47')
(1234, 47)
>>> bladzijden('99-103')
(99, 103)

>>> kort('1234')
'1234'
>>> kort('1234-1247')
'1234-47'
>>> kort('1234-47')
'1234-47'
>>> kort('99-103')
'99-103'

>>> lang('1234')
'1234'
>>> lang('1234-1247')
'1234-1247'
>>> lang('1234-47')
'1234-1247'
>>> lang('99-103')
'99-103'

>>> aantal_bladzijden('1234')
1
>>> aantal_bladzijden('1234-1247')
14
>>> aantal_bladzijden('1234-47')
14
>>> aantal_bladzijden('99-103')
5

Epiloog: trappen van kennis

trappen van kennis
Door de beschildering lijkt deze trap naar de bibliotheek aan de Universiteit van Balamand (Libanon) op een stapel klassieke teksten.

Door de beschildering lijkt deze trap naar de bibliotheek aan de Universiteit van Balamand2 (Libanon) op een stapel klassieke teksten:

Dit plaatst ze (bijna) in chronologische volgorde.