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.
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
The use of randomness is an important part of the configuration and evaluation of modern algorithms.
Here, we will see the various approaches for generating random numbers between 0 ans 1.
Method 1:
Here, we will use uniform[] method which returns the random number between the two specified numbers [both included].
Code:
Python3
import
random
print
[random.uniform[
0
,
1
]]
Output:
0.0023922878433915162
Method 2:
Here, we will use random[] method which returns a random floating number between 0 and 1.
Code:
Python3
import
random
print
[random.random[]]
Output:
0.7769332461684861
Method 3:
Here, we will use the numpy to generate the array of the random numbers.
Code:
Python3
import
numpy as np
x
=
np.random.random[
1
][
0
]
print
[x]
Output:
0.03394418147881839
Method 4:
Here, we will see the custom approach for generating the random numbers.
randint[] is the method which return the random integer between two specified values.
Code:
Python3
import
random
print
[random.randint[
0
,
10
*
*
5
]
/
10
*
*
5
]
Output:
0.59882
Generating Random numbers is easily achievable in Python, as Python provides the Random
module that contains some functions that can be used to generate random numbers as per the programmer’s needs. A Random number does not generate a different number every time we run the code, but it generates a value that cannot be predicted.
This tutorial will
demonstrate the different ways available to generate a Random number between 0 and 1 in Python.
Table of Contents
- Using the random.uniform[] function.
- Using the random.random[] function
- Using the random.randint[] function
- Using the numpy.random.random[] function
- Using the numpy.random.uniform[]
function
- Was this post helpful?
Using the random.uniform[]
function.
The random.uniform[]
function is perfectly suited to generate a random number between the numbers 0 and 1, as it is utilized to return a random floating-point number between two given numbers specified as the parameters for the
function.
This function is contained within the random
module of Python that needs to be imported to the Python code first.
The following code uses the random.uniform[]
function to generate a random floating-point number between 0 and 1 in Python.
import random x=random.uniform[0,1] print[x] |
The above code provides the following output:
0.7361686989141768
The above code generates a random number in Python using the random.uniform[]
function. We should also note that as this is a code to generate a random number, the output will vary and be randomized every time the programmer runs the code.
Using the random.random[]
function
The random.random[]
function is a function that is specifically
designed to return a random number between the numbers 0.0
and 1.0
. This function returns a random number in the floating-point data type format. To use this method, we need to first import the random
module to the Python code.
The following code uses the random.random[]
function to generate a random floating-point number between 0 and 1 in Python.
import random x=random.random[] print[x] |
The above code provides the following output:
0.586756366643944
The above code generates a random number in Python using the random.random[]
function.
Using the random.randint[]
function
The random.randint[]
function can be utilized to return a random number within a range that can be specified by the user. This function generates a random number in the integer data type format. Just like the aforementioned
functions, the random.randint[]
function is contained within the random
module, which needs to be imported first in order to use this function.
The random.randint[]
function is said to be an alias for the random.randrange[]
function. The module contains two parameters, start
and stop
, which specify the range between which a random number needs to be generated.
The following code uses the random.randint[]
function to generate a random integer number between 0 and 1 in Python.
import random x=random.randint[0,1] print[x] |
The above code provides the following output:
1
Since the random.randint[]
function returns an integer, the output when this method is used will be either 0 or 1.
Using the numpy.random.random[]
function
NumPy
, which is an abbreviation for Numerical Python, is a library that is mainly utilized to deal with matrices and arrays in Python. The NumPy
module contains a random
submodule within itself
that can be used to create an array of random numbers, the dimensions of the array can be anything the programmer specifies.
When it comes to generating a substantially large amount of numbers, the NumPy
module is a little faster than the regular random
module.
To successfully implement this method, we will first need to import the numpy
module to the Python code.
The following code uses the numpy
module to generate a random floating-point number between 0 and 1 in
Python.
import numpy asnp a=np.random.random[1][0] print[a] |
The above code provides the following output:
0.7013074645350525
Note that the output values may change as it is a program to generate random numbers.
Using the numpy.random.uniform[]
function
This function is similar to the random.uniform[]
function contained within the general random
module, with the only difference being that the result is returned and stored in a NumPy
array.
The
following code uses the numpy.random.uniform[]
function to generate a random floating-point number between 0 and 1 in Python.
import numpy asnp x=np.random.uniform[low=0,high=1] print[x] |
The above code provides the following output:
0.34877376373755165
We can also use more functions like numpy.random.randint[]
or numpy.random.randrange[]
to implement the process of generating a random number between 0 and 1 in Python. However, similar to the random.randint[]
function explained above, these two functions provide an integer value, i.e. 0 or 1, which is not exactly what is desired when finding random numbers between 0 and 1.
That’s all