Een isogram is een woord waarin elke letter van het alfabet hoogstens één keer voorkomt. Voorbeelden van isogrammen zijn filmproducent en vragenlijst. De maximale lengte van een isogram in het Latijnse alfabet is 26 letters, maar er zijn geen voorbeelden bekend van woorden die deze theoretische grens bereiken. De langste Nederlandse isogrammen die in Van Dale of het Groene Boekje voorkomen, tellen 15 letters: campinghoudster, dampkringslucht, sandwichformule en whiskyproducent.
Onder de liefhebbers van het Opperlans1 worden isogrammen vaak aangeduid als prachtsymboliek, wat zelf namelijk ook een isogram is. Zoals bij elk Opperlans onderwerp, moet er onderscheid gemaakt worden tussen het langste isogram dat daadwerkelijk is waargenomen in normaal taalgebruik (landbouwgeschrift, 17 letters), en het langste isogram dat na lang puzzelen en een ingewikkeld verhaal verdedigbaar wordt gemaakt.
Van de 308 gemeenten in Vlaanderen zijn er 42 waarvan de naam een isogram vormt, waarvan Zwijndrecht de langste is met 11 verschillende letters. Van de 262 gemeenten in Wallonië zijn er 75 waarvan de naam een isogram vormt, waarvan Wadelincourt de langste is met 12 verschillende letters. Van de 19 gemeenten in het Brussels Gewest is Vorst de enige wiens naam een isogram vormt.
Een anagram
is een woord dat gevormd wordt uit de letters van een ander woord maar in
een andere volgorde. Het maken van anagrammen is een geliefd woordspel.
Anagrammen worden ook vaak gebruikt als pseudoniem.
In deze opgave worden woorden voorgesteld als strings die enkel bestaan uit letters. Je opdracht bestaat erin de volgende drie functie te schrijven, waaraan steeds één of twee woorden moeten doorgegeven worden. De functies mogen geen onderscheid maken tussen hoofdletters en kleine letters.
Schrijf een functie voorkomens waaraan een woord moet doorgegeven worden. De functie moet een lijst van 26 natuurlijk getallen teruggeven, waarbij elk getal aangeeft hoeveel keer de letter op de corresponderende plaats in het alfabet voorkomt in het gegeven woord.
Gebruik de functie voorkomens om een functie isogram te schrijven waaraan een woord moet doorgegeven worden. De functie moet een Booleaanse waarde teruggeven, die aangeeft of het gegeven woord een isogram is.
Gebruik de functie voorkomens om een functie anagram te schrijven waaraan twee woorden moet doorgegeven worden. De functie moet een Booleaanse waarde teruggeven, die aangeeft of de gegeven woorden anagrammen van elkaar zijn.
>>> voorkomens('filmproducent')
[0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0]
>>> voorkomens('DOCTORWHO')
[0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0]
>>> voorkomens('whiskyproducent')
[0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0]
>>> isogram('filmproducent')
True
>>> isogram('DOCTORWHO')
False
>>> isogram('whiskyproducent')
True
>>> anagram('DOCTORWHO', 'Torchwood')
True
>>> anagram('isogram', 'anagram')
False
>>> anagram('CENTRALISERENDE', 'decentraliseren')
True