Wordplay



You are filling out a crossword and need a word that fits the pattern E*G****R. What are your options? How many words have all 5 vowels in order? What's the only common English word that ends in 'mt'? What are the most possible points you can score with an English word in Scrabble?

Use Python to answer questions like this instantly while practicing manipulating data from a file and regular expressions.

Setup
Download the following file: http://mako.cc/teaching/2015/community_data_science/wordplay.zip

Once you have downloaded the file, extract the contents of the file into a folder on your desktop.

To start, open a command prompt and navigate to the folder you created for wordplay; there should be several files there, one named. To test that your setup is correct, you can launch a Python instance in this folder, and run the following:

import scrabble scrabble.wordlist

This should display a very long list of words.

Handout
Wordplay handout: goals and cheat sheet.

Goals

 * Have fun using Python to cheat at Scrabble and crosswords.
 * Practice using lists and manipulating strings.

Ideas for exercises

 * Find and print the words that start with "ee".
 * Find and print the words that end in "mt". How about "gry"?
 * Find and print the longest word that has no vowels.
 * Find an print the words that contain 4 or more 'l's.
 * Find and print the words that have all 5 vowels in alphabetical order.
 * Look for other interesting properties of English words in pages like this quiz asking to find English words with unusual properties. How many can you solve with Python?