[Tutor] Data persistence problem
Alan Gauld
alan.gauld at btinternet.com
Fri Jun 21 09:06:58 CEST 2013
On 21/06/13 07:21, Arijit Ukil wrote:
> I have following random number generation function
>
> def*rand_int* ():
> rand_num = int(math.ceil (random.random()*1000))
> returnrand_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.
The simple solution is to store the value in a global variable.
rand_num = None
def rand_int():
global rand_num
if not rand_num:
rand_num = int(math.ceil (random.random()*1000))
return rand_num
Or if you really don't like globals you could create
a generator function:
def rand_int():
rand_num = int(math.ceil (random.random()*1000))
while True:
yield rand_num
Incidentally, any reason why you don't use the random.randint() function
rather than the int(ceil(...) stuff?
HTH
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list