On 2006-03-11, Michael Spencer <[EMAIL PROTECTED]> wrote: > [EMAIL PROTECTED] wrote: >> Hi All, >> First, I hope this post isn't against list rules; if so, I'll take note in >> the future. >> >> I'm working on a project for school (it's not homework; just for fun). >> For it, I need to make a list of words, starting with 1 character in length, >> up to 15 or so. >> It would look like: >> >> A B C d E F G ... Z Aa Ab Ac Ad Ae Aaa Aab Aac
This is really "permutations" you're trying to work out I think. Python generators are quite good for this kind of thing. This works, but isn't especially pretty: import string def letters(): while 1: for char in string.lowercase: yield char yield None def count(n): digits = [letters() for i in range(n)] s = [d.next() for d in digits] def output(): print string.join(reversed(s), "") output() while 1: i = 0 while 1: s[i] = digits[i].next() if s[i] is not None: break s[i] = digits[i].next() i += 1 if i == n: return output() count(3) Obviously you can call count with any number, and if you just change letters() to yield members of some other set you can make permutations of different things. I think 15 is going to give you rather a lot of permutations though. 1677259342285725925376 to be precise. You might have to wait a rather long time. -- http://mail.python.org/mailman/listinfo/python-list