Random number between 0 and 1 in python

ID : 20389

viewed : 28

Tags : pythonrandompython

Top 5 Answer for Random number between 0 and 1 in python

vote vote

90

You can use random.uniform

import random random.uniform(0, 1) 
vote vote

82

random.random() does exactly that

>>> import random >>> for i in range(10): ...     print(random.random()) ...  0.908047338626 0.0199900075962 0.904058545833 0.321508119045 0.657086320195 0.714084413092 0.315924955063 0.696965958019 0.93824013683 0.484207425759 

If you want really random numbers, and to cover the range [0, 1]:

>>> import os >>> int.from_bytes(os.urandom(8), byteorder="big") / ((1 << 64) - 1) 0.7409674234050893 
vote vote

70

I want a random number between 0 and 1, like 0.3452

random.random() is what you are looking for:

From python docs: random.random() Return the next random floating point number in the range [0.0, 1.0).


And, btw, Why your try didn't work?:

Your try was: random.randrange(0, 1)

From python docs: random.randrange() Return a randomly selected element from range(start, stop, step). This is equivalent to choice(range(start, stop, step)), but doesn’t actually build a range object.

So, what you are doing here, with random.randrange(a,b) is choosing a random element from range(a,b); in your case, from range(0,1), but, guess what!: the only element in range(0,1), is 0, so, the only element you can choose from range(0,1), is 0; that's why you were always getting 0 back.

vote vote

68

you can use use numpy.random module, you can get array of random number in shape of your choice you want

>>> import numpy as np >>> np.random.random(1)[0] 0.17425892129128229 >>> np.random.random((3,2)) array([[ 0.7978787 ,  0.9784473 ],        [ 0.49214277,  0.06749958],        [ 0.12944254,  0.80929816]]) >>> np.random.random((3,1)) array([[ 0.86725993],        [ 0.36869585],        [ 0.2601249 ]]) >>> np.random.random((4,1)) array([[ 0.87161403],        [ 0.41976921],        [ 0.35714702],        [ 0.31166808]]) >>> np.random.random_sample() 0.47108547995356098 
vote vote

58

random.randrange(0,2) this works!

Top 3 video Explaining Random number between 0 and 1 in python

Related QUESTION?