On Apr 13, 10:41 am, "Paul McGuire" <[EMAIL PROTECTED]> wrote: > On Apr 13, 10:22 am, Michael Bentley <[EMAIL PROTECTED]> > wrote: > > > > > > > On Apr 13, 2007, at 9:19 AM, Paul McGuire wrote: > > > > If you just expand the length to five million* or so, one of those > > > strings will contain all the works of Shakespeare. > > > Not likely, even with a tiny sampling of the works of Shakespeare: > > > # :-) > > > import string > > import random > > > def main(bardText, maxTries=5000000): > > tries = 0 > > while tries < maxTries: > > tries += 1 > > attempt = [] > > for letter in bardText.lower(): > > if random.choice( > > string.lowercase[:26] > > + string.punctuation > > + ' ' > > ) == letter: > > attempt.append(letter) > > else: > > break > > if len(attempt) >= 4: > > print '%d: %s' % ( > > tries, > > ''.join(attempt) > > ) > > > if __name__ == "__main__": > > main("Alas, poor Yorick!") > > 5000000 << infinity > > Keep tryin'! > > Also, the OP's technique was not doing random string permutations, but > generating an exhaustive list of all possible sequences from aaa... to > zzz... . So I think the works of Shakespeare are *bound* to be in > there somewhere. > > For proof, here's an extract from my sample code from running this > exhaustive program with length=14: > > ... > ALASPOORYORICG > ALASPOORYORICH > ALASPOORYORICI > ALASPOORYORICJ > ALASPOORYORICK > ALASPOORYORICL > ALASPOORYORICM > ALASPOORYORICN > ALASPOORYORICO > ... > > -- Paul > :) (too late for April 1, unfortunately)- Hide quoted text - > > - Show quoted text -
And apologies to the OP for beating a dead horse into the ground. -- Paul -- http://mail.python.org/mailman/listinfo/python-list