"Ten" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > On Sunday 14 May 2006 06:17, John Salerno wrote: > > 1 random.shuffle(letters) > > 2 trans_letters = ''.join(letters)[:len(original_set)] > > 3 trans_table = string.maketrans(original_set, trans_letters) > > > > So what I'd like to do is have lines 1 and 2 run once, then I want to do > > some comparison between original_set and trans_letters before running > > line 3. If the comparison passes, line 3 runs; otherwise, lines 1 and 2 > > run again. > > > > A do/while would be good for this, but perhaps I'm looking at it in the > > wrong way? Or is there some kind of do/while type of idiom that I could > > use? > > > > Thanks. > > while not comparison(original_set, trans_letters): > random.shuffle(letters) > trans_letters = ''.join(letters)[:len(original_set)] > > trans_table = string.maketrans(original_set, trans_letters) >
I don't think the OP wants to call comparison until after the first pass through the loop. Here's a modification to your version that skips the comparison test on the first pass: first = True while first or not comparison(original_set, trans_letters): first = False random.shuffle(letters) trans_letters = ''.join(letters)[:len(original_set)] trans_table = string.maketrans(original_set, trans_letters) -- Paul -- http://mail.python.org/mailman/listinfo/python-list