Op 6 december 2018 tweette1 prof. dr. James Propp (University of Massachusetts Lowell, Boston, VSA) het volgende raadsel de wereld in:
Het geniale eraan is dat de manier waarop het raadsel geformuleerd werd eigenlijk ook het antwoord weggeeft. Het is namelijk een e-lipogram.
Een lipogram is een tekst waarin de auteur met opzet één of meer letters niet gebruikt. Zo is een e-lipogram een tekst waarin de letter e niet voorkomt en een an-lipogram een tekst waarin de letters a en n niet voorkomen. De moeilijkheid bij het schrijven van een lipogram wordt groter naarmate de niet-gebruikte letters frequenter voorkomen in de taal en de tekst langer wordt.
Schrijf een functie voorkomens waaraan de locatie van een tekstbestand (str) moet doorgegeven worden. De functie moet een dictionary (dict) teruggeven die elke letter (str) in het gegeven tekstbestand afbeeldt op het aantal keer (int) dat de letter in het bestand voorkomt. Bij het tellen van het aantal voorkomens van de letters mag geen onderscheid gemaakt worden tussen hoofdletters en kleine letters. De sleutels van de dictionary moeten als kleine letter voorgesteld worden, en enkel de letters die in het tekstbestand voorkomen mogen als sleutel gebruikt worden.
Schrijf een functie ontbrekende_letters waaraan de locatie van een tekstbestand (str) moet doorgegeven worden. De functie moet een verzameling (set) teruggeven met alle letters (str) die niet in het gegeven tekstbestand voorkomen. Bij het bepalen van de ontbrekende letters mag geen onderscheid gemaakt worden tussen hoofdletters en kleine letters. De ontbrekende letters moeten als kleine letter voorgesteld worden in de verzameling die door de functie wordt teruggegeven.
In onderstaande voorbeeldsessie gaan we ervan uit dat het tekstbestand lipo.txt2 zich in de huidige directory bevindt.
Een gevangene heeft maar een beperkte voorraad papier en wil ruimte besparen door geen letters te gebruiken die boven of onder de regel uitkomen (b, d, f, g, h, j, k, l, p, q, t of y). Hoe lang kan hij dat volhouden?
Vrij lang, zo blijkt. Dit is een poging van de Britse schrijver Ian Monk5:
a russian con's economic missive
we were once seven con men, we are now seven cons. as communism was over we saw easier success in american consumerism, i.e. crime. in a moscow inn, we swore: — seven is one, so one is seven … soon we came across a scam. our main man wove us a nice wee earner: — we own a zinc mine. since our russian economic crisis came in, our income's never risen. we can cram ice in our mine's veins, raise rumours re our ice mine's immense resources, con morons we are mere zeros. as soon as career men see our ice, we win 'em over. once we've won 'em over, we receive numerous ecus or euros. as soon as we've our monies, we serve 'em arsenic in wine. we can even recommence on numerous occasions. … our scam was a success. our asses never saw sense. we were euros in. we saw our main man serve our vicious wine mix … a near miss .. our arsenic was mere mouse venom. some asses were survivors: — summon a coroner, someone swore. — or a nurse. — or some rozzers. so we ran. we swam across a river. as soon as no one was near us, we wove our monies in wee canvas cases we wore in our arses. we ran on. in vain … someone saw us on vanavara's main avenue. a commissioner, nine rozzers, seven airmen, six cia men overcame us. we were sworn in. we are now in moscow in irons in room nine. as soon as someone receives or sos, come … run … save us … since no one's ever come across our economies, our ransoms are even now in our arses.