import string DEBUG = False WORD_LENGTH = 5 ROUNDS = 6 INSTRUCTIONS = "Positional letters (green) are CAPITAL, non-positional (yellow) are small, others are blanks e.g. SHe-r" BLANK = "-" DICTIONARY = '/usr/share/dict/words' def cat_words(dictionary=DICTIONARY): if type(dictionary) is list: for word in dictionary: yield word else: with open(dictionary) as f: for word in f.readlines(): # remove end of line word = word[:-1] # filter out five letter words if len(word) == WORD_LENGTH and all([letter in string.ascii_lowercase for letter in word]): yield word if __name__ == "__main__": print(len(list(cat_words())))