Here is my first attempt to solve Jumble puzzle:
import argparse
from itertools import permutations
parser = argparse.ArgumentParser(description='Solver for Jumble')
parser.add_argument('jumbledwords', nargs='+',
help='One or more jumbled words')
argv = parser.parse_args()
# http://www-01.sil.org/linguistics/wordlists/english/wordlist/wordsEn.txt
words = [line.rstrip() for line in open('wordsEn.txt')]
for jumbledword in argv.jumbledwords:
perms = set([''.join(p) for p in permutations(jumbledword)])
legalwords = [word for word in perms if word in words]
# print(len(perms))
print(jumbledword, legalwords)
Any suggestions for improvement?