Scrabble is een bordspel dat verkocht wordt in 121 landen en in 29 talen. Het wordt gespeeld door twee tot vier spelers, die bestaande woorden op een spelbord moeten leggen met een aantal willekeurig getrokken letters. Hierbij gaan geluk en vernuft hand in hand, omdat de letters willekeurig getrokken worden en het de kunst is hiermee een zo hoog mogelijke score te behalen.
Het spel wordt gespeeld op een bord bestaande uit $$15 \times 15 = 225$$ vakjes, waarbij 61 gekleurde vakjes (8 rode, 17 roze, 24 lichtblauwe en 12 donkerblauwe) een speciale betekenis hebben. De overige 164 vakjes hebben een neutrale kleur (vaak groen) en hebben geen speciale betekenis. In de Nederlandstalige versie zijn er 100 letters en twee blanco blokjes te verdelen die in een stoffen zakje bewaard worden. Daaruit kunnen de blokjes gemakkelijk blind getrokken worden.
De blokjes die een spelers getrokken heeft, worden naast elkaar op een rekje gezet, uit het zicht van zijn medespelers. Elke speler probeert tijdens zijn beurt een aantal van zijn getrokken letters op het bord te leggen aan de woorden die reeds gevormd zijn om daarmee een bestaand woord van ten minste twee letters te vormen, zodanig dat een zo hoog mogelijk aantal punten behaald wordt. Blanco blokjes mogen door de speler voor eender welke letter gebruikt worden, maar leveren zelf geen punten op. Vervolgens vult de speler de letters op zijn rekje weer aan door blind letters uit het stoffen zakje te trekken. Het spel is voorbij als één van de spelers geen letters meer heeft of als niemand met zijn letters nog een woord kan bedenken.
Aan elke letter van het alfabet wordt een vaste score tussen 1 en 10 toegekend, waarbij de scores verschillen van land tot land, en van taal tot taal. De score van een woord dat op het spelbord gelegd wordt, is dan eenvoudigweg de som van de scores van de individuele letters waaruit het woord bestaat. Zo heeft het woord shrubbery bijvoorbeeld een score van 19 met de volgende scores voor de individuele letters.
Bij het aanleggen van een woord op het Scrabblebord kan het echter gebeuren dat de score van een individuele letter moet vermenigvuldigd worden met een factor $$n \in \{2, 3\}$$. Voor langere woorden is het zelfs mogelijk dat de score van meer dan één letter moet vermenigvuldigd worden, waarbij de vermenigvuldigingsfactoren niet noodzakelijk gelijk moeten zijn.
Dit wordt in Scrabblenotatie aangeduid door letters die verdubbeld ($$n = 2$$) moeten worden tussen vierkante haakjes te plaatsen, en letters die verdriedubbeld ($$n = 3$$) moeten worden tussen ronde haakjes te plaatsen. Zo duidt e[q]u(i)n[o]x aan dat de score van de letters q en o moet verdubbeld worden en dat de score van de letter i moet verdriedubbeld worden. Op die manier levert het woord equinox een totale score van 36 punten op met bovenstaande scores voor de letters.
In Scrabblenotatie is het ook toegelaten om opeenvolgende letters die moeten verdubbeld of verdriedubbeld worden, samen tussen vierkante of ronde haakjes te plaatsen. Zo duidt e[xt]ra(vag)an[z]a aan dat de score van de letters x, t en z moet verdubbeld worden en dat de score van de letters v, a en g moet verdriedubbeld worden. Daarmee levert het woord extravaganza een totale score van 65 punten op met bovenstaande scores voor de letters.
Een letterscore is de score voor een individuele letter (tussen 1 en 10) die wordt voorgesteld door één van de volgende karakters (str):
één van de cijfers 1 tot en met 9 die de overeenkomstige scores voorstellen
de hoofdletter X die de score 10 voorstelt
Een scoreverdeling omschrijft de vaste score van alle letters van het alfabet voor een bepaald land en een bepaalde taal. De verdeling wordt voorgesteld als een string (str) met de letterscore van de 26 letters van het alfabet, in de volgorde waarin ze in het alfabet voorkomen.
Gevraagd wordt:
Schrijf een functie letterscore waaraan een letter $$l$$ (str) en een scoreverdeling (str) moeten doorgegeven worden. De functie moet de letterscore (str) van de letter $$l$$ teruggeven volgens de gegeven scoreverdeling.
Schrijf een functie letterscores waaraan de Scrabblenotatie van een woord $$w$$ (str) en een scoreverdeling (str) moeten doorgegeven worden. De functie moet een string (str) teruggeven met de letterscore van de opeenvolgende letters van $$w$$ volgens de gegeven scoreverdeling.
Schrijf een functie vermenigvuldigers waaraan de Scrabblenotatie van een woord $$w$$ (str) moet doorgegeven worden. De functie moet een string (str) teruggeven die voor elke letter van $$w$$ een cijfer 1, 2 of 3 bevat dat aangeeft met welke factor de score voor die letter moet vermenigvuldigd worden volgens de gegeven Scrabblenotatie.
Schrijf een functie woordscore waaraan de Scrabblenotatie van een woord $$w$$ (str) en een scoreverdeling (str) moeten doorgegeven worden. De functie moet de score (int) van $$w$$ teruggeven volgens de gegeven Scrabblenotatie en scoreverdeling.
Zorg ervoor dat deze functies geen onderscheid maken tussen hoofdletters en kleine letters.
>>> letterscore('s', '1332142418513113X11114484X')
'1'
>>> letterscore('Z', '1332142418513113X11114484X')
'X'
>>> letterscore('x', '1332142418513113X11114484X')
'8'
>>> letterscores('shrubbery', '1332142418513113X11114484X')
'141133114'
>>> letterscores('E[Q]U(I)N[O]X', '1332142418513113X11114484X')
'1X11118'
>>> letterscores('e[XT]ra(VAG)an[Z]a', '1332142418513113X11114484X')
'1811141211X1'
>>> vermenigvuldigers('shrubbery')
'111111111'
>>> vermenigvuldigers('E[Q]U(I)N[O]X')
'1213121'
>>> vermenigvuldigers('e[XT]ra(VAG)an[Z]a')
'122113331121'
>>> woordscore('shrubbery', '1332142418513113X11114484X')
19
>>> woordscore('E[Q]U(I)N[O]X', '1332142418513113X11114484X')
36
>>> woordscore('e[XT]ra(VAG)an[Z]a', '1332142418513113X11114484X')
65
In de twaalfde editie van The Chambers Dictionary1 — gepubliceerd in 2011 — werden ongeveer 500 woorden gemarkeerd omdat de redactie ze bijzonder vermakelijk vond. Voor de dertiende editie — gepubliceerd in 2014 — had de redactie ervoor gekozen om deze markeringen terug te verwijderen, maar onbedoeld verwijderden ze de woorden volledig uit het woordenboek.
Ondertussen hebben de ontbrekende woorden hun plaats in het woordenboek terug ingenomen, maar als compensatie hebben de uitgevers in de tussenperiode een lijst met de ontbrekende woorden2 gepubliceerd.