# python anagram generator # # This anagram generator uses a # text file as a reference for # appropriate words. # # The word file I used is in the # following format (each word has # it's own line): # # act # addition # adjustment # advertisement # after # again # against # ... and on and on... # def isAnagramOf(attempt, original): # all the same case attempt = attempt.strip() if len(attempt) < 1: # only actual words return False attempt, original = attempt.lower(), original.lower() for character in attempt: position = original.find(character) if (position == -1): return False original = original.replace(character, '', 1) return True def getAnagramsFor(text): anagrams = [] wordlist = open("wordlist.txt", 'r') for line in wordlist: line = line.strip("\n") #strip the carriage return if isAnagramOf(line, text): anagrams.append(line) return anagrams matching_anagrams = getAnagramsFor("pythonic prose") print(len(matching_anagrams), "total anagrams generated") for ana in matching_anagrams: print(ana) # my output: # # 66 total anagrams generated # chest # chin # copper # copy # cry # he # history # hope # ... skip a few ... # theory # thin # this # tin # to # toe # top # yes
A python example based blog that shows how to accomplish python goals and how to correct python errors.
Showing posts with label anagram. Show all posts
Showing posts with label anagram. Show all posts
Friday, October 15, 2010
Python - Anagram generator
Python - Anagram detector
# A python Anagram detector # manipulate anagrams with python # # Python could no doubt solve this in # many ways.... here is one: # determine whether a string is an anagram # of another string def isAnagramOf(attempt, original): # all the same case attempt, original = attempt.lower(), original.lower() for character in attempt: position = original.find(character) if (position == -1): return False original = original.replace(character, '', 1) return True original = "Texas Ranger" print("Is Rage an anagram of", original, "=", isAnagramOf("Anger", original)) print("Is Extra Angers an anagram of", original, "=", isAnagramOf("Extra Angers", original)) print("Is Extra Angered an anagram of", original, "=", isAnagramOf("Extra Angered", original)) # my output: # Is Rage an anagram of Texas Ranger = True # Is Extra Angers an anagram of Texas Ranger = True # Is Extra Angered an anagram of Texas Ranger = False
Subscribe to:
Posts (Atom)