import sys
import scrabble

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Usage: scrabble.py [RACK]")
        sys.exit(1)

    rack = list(sys.argv[1].lower())
    valid_words = []

    for word in scrabble.wordlist:
        # Make a copy of the rack for every new word, so we can manipulate it
        # without compromising the original rack.
        available_letters = rack[:]

        valid = True
        for letter in word.lower():
            if letter not in available_letters:
                valid = False
                break
            available_letters.remove(letter)

        if valid:
            # Calculate the Scrabble score.
            score = 0
            for letter in word:
                score = score + scrabble.scores[letter]
            valid_words.append((score, word))

    for play in sorted(valid_words):
        print("%d %s" % (play[0], play[1]))

11°
