On Oct 23, 9:21 am, [EMAIL PROTECTED] wrote: > This one uses a dictionary to store prime values of each letter in the > alphabet and for each line multiple the results of the characters > (which is unique for each anagram) and add them to a dictionary for > printing latter. > > def anagram_finder(): > primeAlpha = {'a':2, 'b':3, 'c':5, 'd':7,'e' : 11, 'f':13, 'g':17, > 'h':19, \ > 'i':23, 'j':29, 'k':31, 'l':37, 'm':41, 'n':43, 'o': > 47, 'p':53, \ > 'q':59, 'r':61, 's':67, 't':71, 'u':73, 'v':79, 'w': > 83, 'x':89, \ > 'y':97, 'z':101} > ...
A somewhat nicer start: compute primes (naively) rather than typing out the dictionary. import string from itertools import ifilter, count def anagram_finder(): primes = ifilter(lambda p: all(p % k for k in xrange(2, p)), count(2)) primeAlpha = dict(zip(string.lowercase, primes)) ... -- Paul Hankin -- http://mail.python.org/mailman/listinfo/python-list