Re: while loop through a list

*To*: mathgroup at smc.vnet.net*Subject*: [mg128164] Re: while loop through a list*From*: Bill Rowe <readnews at sbcglobal.net>*Date*: Thu, 20 Sep 2012 00:23:46 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-newout@smc.vnet.net*Delivered-to*: mathgroup-newsend@smc.vnet.net

On 9/19/12 at 4:57 AM, tarpanelli at libero.it wrote: >Hello i've this problem to solve: > >let us suppose I've a function f which returns a random number and >I start with an intial list of n random number I would like to check >if each one of the element of this list is below zero and if it is >applies the function f till when the new random number is above 0. >This should be repeated for each element of the list such that at >the end all the list random numbers will be above 0. There is no need for an explicit loop to do this. For example: In[1]:= t = RandomReal[{-1, 1}, 5] Out[1]= {0.0760855,-0.527881,-0.937804,-0.945365,0.866552} In[2]:= t /. x_?Negative :> RandomReal[] Out[2]= {0.0760855,0.953119,0.215987,0.342604,0.866552} But do note, it is far more efficient to generate random values in the range desired in the first place.