Scrabble is een bordspel voor twee tot vier spelers, waarbij woorden op een spelbord moeten gelegd worden aan de hand van een reeks willekeurige letters. Hierbij gaan geluk en vernuft hand in hand, omdat de letters willekeurig gepakt worden en het de kunst is hiermee een zo hoog mogelijke score te behalen. Aan elke letter van het alfabet wordt een vaste score toegekend, zoals je kunt zien in onderstaande afbeelding. 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.

scrabble
Puntenverdeling van de letters op het scrabblebord.

Opgave

Voeg een nieuw gegevenstype ScrabbleWoord toe aan Python dat de verzameling van woorden voorstelt die enkel bestaan uit letter uit het alfabet. Zowel hoofdletters als kleine letters zijn toegelaten, maar alle andere karakters zijn ongeldig. De objecten van het gegevenstype ScrabbleWoord moeten zich in alle opzichten gedragen zoals de ingebouwde strings van Python, met dat verschil dat

Voor de rest zijn scrabblewoorden dus onveranderlijke reeksen letters, die je op de gebruikelijke manier kunt indexeren en slicen, en waarvan je bijvoorbeeld de lengte kunt opvragen aan de hand van de ingebouwde functie len.

Voorbeeld

>>> woord = ScrabbleWoord('shrubbery')
>>> woord.score()
19
>>> nieuw = woord.replace('sh', '').replace('ery', 'ish')
>>> print(nieuw)
rubbish
>>> nieuw.score()
14
>>> nieuw = ScrabbleWoord('flying') + ScrabbleWoord('circus')
>>> print(nieuw)
flyingcircus
>>> nieuw.score()
23
>>> woord[:5].score()
10