Een numeroniem is een woord waarin getallen gebruikt worden als manier om het woord af te korten.
Eén specifieke manier om dit te doen is door alle letters tussen de eerste en de laatste letter van het woord te vervangen door een getal dat aangeeft hoeveel letters er werden weggelaten, zoals in het numeroniem i18n dat staat voor internationalization. Deze vorm van afkortingen noemt men alfanumerieke acroniemen, alfanumerieke afkortingen of numerieke samentrekkingen.
Meer algemeen staat elk getal in het numeroniem voor het aantal letters dat op die positie werd weggelaten. Op die manier is se7en een numeroniem voor semicitizen en is R2D2 een numeroniem voor random.
Schrijf een functie numeroniem waaraan een woord $$w$$ (str) moet doorgegeven worden dat enkel uit letters bestaat. Als woord $$w$$ minder dan vier letters telt, dan moet de functie woord $$w$$ (str) teruggeven. Anders moet de functie het alfanumerieke acroniem (str) voor woord $$w$$ teruggeven, waarbij het gebruik van hoofdletters en kleine letters behouden blijft.
Schrijf een functie sjabloon waaraan een woord $$w$$ (str) moet doorgegeven worden dat enkel bestaat uit cijfers en letters. De functie moet woord $$w$$ (str) teruggeven waarin alle getallen vervangen werden door het overeenkomstige aantal punten (.). Hierbij wordt een getal gevormd door een zo lang mogelijke opeenvolging van cijfers in het gegeven woord.
Schrijf een functie isnumeroniem waaraan twee strings (str) moeten doorgegeven worden: i) een woord $$n$$ dat enkel bestaat uit cijfers en letters en ii) een woord $$w$$ dat enkel bestaat uit letters. De functie moet een Booleaanse waarde (bool) teruggeven die aangeeft of woord $$n$$ een numeroniem is van woord $$w$$, waarbij elk getal in woord $$n$$ staat voor het aantal letters dat op die positie werd weggelaten. Hierbij mag de functie geen onderscheid maken tussen hoofdletters en kleine letters.
>>> numeroniem('internationalization')
'i18n'
>>> numeroniem('TAKEDOWN')
'T6N'
>>> numeroniem('Random')
'R4m'
>>> numeroniem('DNA')
'DNA'
>>> sjabloon('i18n')
'i..................n'
>>> sjabloon('TAK3N')
'TAK...N'
>>> sjabloon('R2D2')
'R..D..'
>>> sjabloon('se7en')
'se.......en'
>>> isnumeroniem('i18n', 'internationalization')
True
>>> isnumeroniem('TAK3N', 'TAKEDOWN')
False
>>> isnumeroniem('R2D2', 'Random')
True
>>> isnumeroniem('se7en', 'semicitizen')
True
Volgens Tex Texin1 was S12n het allereerste alfanumerieke acroniem — het emailadres dat door een systeembeheerder van Digital Equipment Corporation (DEC) werd gegeven aan medewerker Jan Scherphuizen omdat zijn familienaam te lang was om als accountnaam te gebruiken. Tegen 1985 begonnen heel wat collega's die Jans' naam onuitspreekbaar vonden naar hem te verwijzen als S12n (ess-twelve-en). Het gebruik van dit soort numeroniemen werd gaandeweg onderdeel van de bedrijfscultuur van DEC.
Professor Donald Knuth — de ontwikkelaar van de opmaaktaal $$\TeX$$2 voor teksten en wiskundige formules — kreeg ooit de vraag of hij een favoriet wiskunderaadseltje had. Hij stapte naar een bord, pakte een krijtje en schreef er het volgende op:
"Wat is het volgende?" vroeg hij.