A popular word game is published in many newspapers. It works like this.
In this game, the solver is presented with seven seemingly random letters and is tasked with making all the possible words (of three letters or more) that can be made from these letters. There is always at least one seven letter word that can be made. The puzzle usually includes the information of the number of words that can be made.
Write a program that generates puzzles for this game. It should take a seven letter word (chosen randomly from some handy dictionary), shuffle the letters, and display them. Below this it should display the number of valid words that can be made from these letters. Finally there should be the list itself, sorted according to the number of letters in the word, and then alphabetically within each number.
You may want to extend this program (or write a companion program) to actually simulate the puzzle.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.