On Jul 16, 7:20 am, Mensanator <[EMAIL PROTECTED]> wrote: > > > ## Combinations with replacement > > > ## ----------------------------- > > > ## aaa aab aac aad aae abb abc abd abe acc acd ace > > > ## add ade aee bbb bbc bbd bbe bcc bcd bce bdd bde > > > ## bee ccc ccd cce cdd cde cee ddd dde dee eee > > > ## > > > ## actual words: 35 (m+n-1)!/(n!(m-1)!) words: 35
>>> for x in combinations(range(7), 4): ... x = [-1] + list(x) + [7] ... print ''.join(c*(x[i+1]-x[i]-1) for i, c in enumerate('abcde')) ... eee dee dde ddd cee cde cdd cce ccd ccc bee bde bdd bce bcd bcc bbe bbd bbc bbb aee ade add ace acd acc abe abd abc abb aae aad aac aab aaa Generalization left as an exercise for the reader. Mark -- http://mail.python.org/mailman/listinfo/python-list