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.
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.
Een functie bladzijden die een tuple teruggeeft met het volgnummer (int) van de eerste en de laatste bladzijde van de gegeven verwijzing. Als een verwijzing naar één enkele bladzijde doorgegeven worden, dan is het volgnummer van die bladzijde zowel de eerste als de laatste. Als een afgekorte verwijzing wordt doorgegeven, dan is het volgnummer van de laatste bladzijde die die in de verwijzing gegeven wordt (en dus een kleinere waarde heeft dan die van de eerste bladzijde).
Een functie kort die waar mogelijk de afgekorte notatie (str) van de gegeven verwijzing teruggeeft. Als de verwijzing nog niet afgekort is maar wel kan afgekort worden, dan wordt de afgekorte notatie teruggegeven. Anders wordt de gegeven verwijzing zelf terugeggeven.
Een functie lang die de lange notatie (str) van de gegeven verwijzing teruggeeft.
Een functie aantal_bladzijden die het totaal aantal bladzijden van de gegeven verwijzing teruggeeft. Zowel de eerste als de laatste bladzijde van de verwijzing tellen daarin mee.
>>> 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
Door de beschildering lijkt deze trap naar de bibliotheek aan de Universiteit van Balamand2 (Libanon) op een stapel klassieke teksten:
het Gilgamesj-epos3
Epistel over de vergiffenis8 (Arabisch: رسالة الغفران, Risālat al-ghufrān) van Abī al-Alā al-Ma’arrī9
De goddelijke komedie10 (Italiaans: La Divina Commedia) van Dante Alighieri11
Muqaddimah12 van Ibn Khaldūn13
De vorst14 (Italiaans: Il principe) van Niccolò Machiavelli15
Verhandeling over de methode16 (Frans: Discours de la Méthode) van René Descartes17
Kritiek van de zuivere rede18 (Duits: Kritik der reinen Vernunft) van Immanuel Kant19
De oorsprong der soorten22 (Engels: On the Origin of Species) van Charles Darwin23
De gebroeders Karamazov24 (Russisch: Братья Карамазовы, Brat'ja Karamazovy) van Fjodor Dostojevski25
Zo sprak Zarathoestra26 (Duits: Also sprach Zarathustra) van Friedrich Nietzsche27
Relativity: The Special and the General Theory28 van Albert Einstein29
De Profeet30 (Engels: The Prophet) van Khalil Gibran31
al-Ayyām (Engels: The Days) van Tāhā Husayn32
Een studie van de geschiedenis33 (Engels: A Study of History) van Arnold Toynbee34
Cosmos: A Personal Voyage35 van Carl Sagan36
Het heelal37 (Engels: A Brief History of Time) van Stephen Hawking38
De ontheemden39 (Frans: Les Desorientés) van Amin Maalouf40
The Road Ahead41 van Bill Gates42
Dit plaatst ze (bijna) in chronologische volgorde.