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.
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
scrabblewoorden een bijkomende methode score hebben, waaraan geen parameters moeten meegegeven worden, en die de score van het woord op het scrabblebord teruggeeft
alle methoden die beschikbaar zijn voor het ingebouwde string-gegevenstype en die een string als resultaat (of bijvoorbeeld een lijst van string) teruggeven, moeten nu een scrabblewoord als resultaat teruggeven (of een lijst van scrabblewoorden)
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.
>>> 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