On 06/21/2013 02:21 AM, Arijit Ukil wrote:
I have following random number generation function
def rand_int ():
rand_num = int(math.ceil (random.random()*1000))
return rand_num
I like to make the value of rand_num (return of rand_int) static/
unchanged after first call even if it is called multiple times. If x=
rand_int () returns 45 at the first call, x should retain 45 even in
multiple calls.
Pls help.
You do realize that this will return the values 1 through 1000 each with
a probability of just under 0.1%, and return the value 0 extremely
rarely? I'd assume you really meant for it to exclude the value of 0
(or else make it a lot more likely).
def rand_int(precalc_value=random.randint(1,1000)):
return precalc_value
As long as you don't call it with a keyword of precalc_value, it'll
retain that initial value each time it's called.
And if you wanted the value of zero to also be equally likely (with a
probability of 1/1001)
def rand_int(precalc_value=random.randint(0,1000)):
return precalc_value
--
DaveA
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor