"""This module contains code from Think Python by Allen B. Downey http://thinkpython.com Copyright 2012 Allen B. Downey License: GNU GPLv3 http://www.gnu.org/licenses/gpl.html """ from rotate import rotate_word def make_word_dict(): """Read the words in words.txt and return a dictionary that contains the words as keys""" d = dict() fin = open('words.txt') for line in fin: word = line.strip().lower() d[word] = word return d def rotate_pairs(word, word_dict): """Prints all words that can be generated by rotating word. word: string word_dict: dictionary with words as keys """ for i in range(1, 14): rotated = rotate_word(word, i) if rotated in word_dict: print word, i, rotated if __name__ == '__main__': word_dict = make_word_dict() for word in word_dict: rotate_pairs(word, word_dict)