On Mon, Aug 23, 2010 at 3:00 PM, Greg Bair <gregb...@gmail.com> wrote:
> I have a method (I'll call it foo) that will either return None or an object
> depending on a random value generated.  What I want to happen is that if I
> call foo(), i.e, f = foo() and it returns None, to re-call it until it
> returns something else.  I would think this would be done with a while loop,
> but can't seem to get the details right.
>
> Any help would be greatly appreciated.

Quite simple really, and yes you are right. Use a while loop:

>>> from random import seed, random
>>> from time import time
>>> seed(time())
>>> def foo():
...     if 0.5 < random() < 0.6:
...             return True
...
>>> x = foo()
>>> while x is None:
...     x = foo()
...
>>> x
True
>>>

cheers
James

-- 
-- James Mills
--
-- "Problems are solved by method"
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to