Met zoveel ongebruikelijke en tegenstrijdige grammaticaregels, zitten er heel wat kronkels in de Engelse taal. Maar dat kan even goed gezegd worden van heel wat woorden in een Engels woordenboek.
Het woord cabbageheaded is het langste woord dat kan gevormd worden met de letters uit de eerste helft van het alfabet (a–m). Het woord nontortuous is het langste woord dat kan gevormd worden met de letters uit de tweede helft van het alfabet (n–z).
We kunnen ook zoeken naar woorden die alternerend (afwisselend) gevormd worden met letters uit de eerste en de tweede helft van het alfabet. De langste alternerende woorden die beginnen met een letter uit de eerste helft van het alfabet hebben 12 letters. Voorbeelden zijn comparatives en itinerariums. De langste alternerende woorden die beginnen met een letter uit de tweede helft van het alfabet hebben 13 letters. Voorbeelden zijn paranephritis en phraseography.
Een woord bestaat enkel uit hoofdletters en kleine letters. Gevraagd wordt:
Schrijf een functie eerste_positie waaraan een woord (str) moet doorgegeven worden. De functie moet de positie in het alfabet (int; A=1, B=2, C=3, …, Z=26) teruggeven van de alfabetisch eerste letter in het woord.
Schrijf een functie laatste_positie waaraan een woord (str) moet doorgegeven worden. De functie moet de positie in het alfabet (int; A=1, B=2, C=3, …, Z=26) teruggeven van de alfabetisch laatste letter in het woord.
Schrijf een functie iseerste waaraan een woord (str) moet doorgegeven worden. De functie moet een Booleaanse waarde (bool) teruggeven die aangeeft of het woord gevormd wordt met letters uit de eerste helft van het alfabet (a–m).
Schrijf een functie istweede waaraan een woord (str) moet doorgegeven worden. De functie moet een Booleaanse waarde (bool) teruggeven die aangeeft of het woord gevormd wordt met letters uit de tweede helft van het alfabet (n–z).
Schrijf een functie isalternerend waaraan een woord (str) moet doorgegeven worden. De functie moet een Booleaanse waarde (bool) teruggeven die aangeeft of het woord alternerend gevormd wordt met letters uit de eerste helft van het alfabet (a–m) en de tweede helft van het alfabet (n–z).
Geen enkele van deze functies mag onderscheid maken tussen hoofdletters en kleine letters.
>>> eerste_positie('FIDDLEDEEDEE')
4
>>> eerste_positie('soupspoons')
14
>>> eerste_positie('CoMpArAtIvEs')
1
>>> eerste_positie('pArAnEpHrItIs')
1
>>> laatste_positie('FIDDLEDEEDEE')
12
>>> laatste_positie('soupspoons')
21
>>> laatste_positie('CoMpArAtIvEs')
22
>>> laatste_positie('pArAnEpHrItIs')
20
>>> iseerste('FIDDLEDEEDEE')
True
>>> iseerste('soupspoons')
False
>>> iseerste('CoMpArAtIvEs')
False
>>> iseerste('pArAnEpHrItIs')
False
>>> istweede('FIDDLEDEEDEE')
False
>>> istweede('soupspoons')
True
>>> istweede('CoMpArAtIvEs')
False
>>> istweede('pArAnEpHrItIs')
False
>>> isalternerend('FIDDLEDEEDEE')
False
>>> isalternerend('soupspoons')
False
>>> isalternerend('CoMpArAtIvEs')
True
>>> isalternerend('pArAnEpHrItIs')
True