Just glancing at your program, I would guess that you have a ":" where you want a "]" on the line below.
prod = prod * letter_to_prime[word_list[j] [i]: HTH, Chris jessica cruz <jessica06c...@yahoo.com> Sent by: tutor-bounces+christopher.henk=allisontransmission....@python.org 03/09/2009 02:38 PM To Tutor@python.org cc Subject [Tutor] HELP ON A ANAGRAM PYTHON PROGRAM I made this program but it says that there is an error and I have a hard time trying to solve the problem with program. Here is the program: #this reads all of the words in the file into a list infile = open('/afs/cats/courses/cmps012a-cm/pa1/wordList.txt') wdcount = int(infile.readline()) #first item is count of all the words word_list = infile.readlines() #print them out from the internal list i = 0 while i < wdcount: print word_list[i], i = i + 1 #map of alphabet to prime numbers with respect to frecuency #more frequent the letter the smaller the assigment prime letter_to_prime = { 'a':7, 'b':59, 'c':29, 'd':31, 'e':2, 'f':67, 'g':41, 'h':53, 'i':3, 'j':97, 'k':73, 'l':23, 'm':47, 'n':13, 'o':19, 'p':43, 'q':101, 'r':11, 's':5, 't':17, 'u':37, 'v':71, 'w':79, 'x':89, 'y':61, 'z':83}, j = 0 while j < wdcount: print word_list [j], prod = 1 i = 0 while i < len(word_list[j])-2: prod = prod * letter_to_prime[word_list[j] [i]: i = i + 1 print prod (right here is where it says that there's an error I try to fix it ) j = j =1 # code that will be compared will be a histogram type code with frequency # characters def code(w): hist = [] chars = list(w) chars.sort() for letter in chars: if not letter in hist: # when the letter is not already in hist, hist.extend([letter, str(w.count(letter))]) # its added to hist along with its freq. else: continue coding = "".join(hist) # then they are joined as one string return coding # new list is made with words in word_list followed by its code for word in word_list: wordList.append(word) wordList.append(code(word[:(len(word)-2)])) while True: word1 = raw_input('Enter word:') word = word1.lower() sig = code(word) i = 1 if sig in wordList: print "Anagrams:" while i <= len(wordList): # when the sig of the inputed word is in the word list, if sig == wordList[i]: print wordList[i-1] # the corresponding words are printed i += 2 # then adds two because codes are every other entry else: print "No anagrams" choice = raw_input("Continue? (yes/no)") if choice == 'y' or choice == 'yes': continue else: break I don't know how to figure out the error since the only message that I get is that "there's an error: invalid syntax" _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor