Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- def makedict(filename='/usr/share/dict/words'):
- words = open(filename).read().split('\n')
- anagramdict = {}
- for word in words:
- key = keyword(word)
- if key not in anagramdict:
- anagramdict[key] = (word,)
- else:
- anagramdict[key] += (word,)
- return anagramdict
- def keyword(word):
- return ''.join(sorted(word))
- def get_anagrams(word, dictionary=None):
- if dictionary is None:
- dictionary = makedict()
- key = keyword(word)
- return set(dictionary[key]) if key in dictionary else set()
- def main():
- anagramdict = makedict()
- while True:
- word = raw_input('Enter a word, and anagrams will be found: ')
- anagrams = get_anagrams(word, anagramdict)
- if len(anagrams) > 0:
- print "Anagrams for %s:" % word
- for anagram in anagrams:
- print anagram
- else:
- print "Sorry, no anagrams were found for %s" % word
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement