I have created a little tool that helps you unscramble all of your solution words that you might get from e.g. solving crossword riddles. Enjoy! Be careful though, this algorithm has factorial runtime with respect to the input length, so putting in words with more than twelve letters is not recommended unless you can wait for a long time and/or have very strong computing power.
The unscrambler checks whether each unique permutation is contained in the aspell dictionary of the specified language, in this case the German language. If you want to check whether your word is in the American English dictionary simply call unscramble(yourword,lang="en_US")
instead.
Output
There are 20160 permutations of your input.
checking instance 1 of 20160
checking instance 2 of 20160
checking instance 3 of 20160
…
checking instance 20157 of 20160
checking instance 20158 of 20160
checking instance 20159 of 20160
checking instance 20160 of 20160
Solution candidates found:
teddybär
Dependencies
itertools
is a part of the standard Python library.- For aspell a Python wrapper is needed.
- On Linux install after untaring and navigating to the untared directory use:
sudo python setup.py install -v
why this algorithm has factorial runtime?