Python random.uniform() Method



The Python random.uniform() method is used retrieve a random floating-point number. This number is greater than or equal to the given high limit and less than or equal to the given low limit.

Note − This function is not accessible directly, so we need to import random module and then we need to call this function using random static object.

Syntax

Following is the syntax of Python random.uniform() method −

random.uniform(x, y)

Parameters

  • x − Sets the lower limit of the random float.

  • y − Sets the upper limit of the random float.

Return Value

This method returns a floating point number.

Example

The following example shows the usage of the Python random.uniform() method. Here a positive upper and lower limits are passed as an argument to the method.

import random
print "Random Float uniform(5, 10) : ",  random.uniform(5, 10)
print "Random Float uniform(7, 14) : ",  random.uniform(7, 14)

Let us run the above program, this will produce the following result −

Random Float uniform(5, 10) :  5.52615217015
Random Float uniform(7, 14) :  12.5326369199

Example

In the example given below we are creating a list of 5 random float numbers. The range of these numbers is between 25.25 to 125.45. The round method is used to round the decimal point numbers up to 4 digits.

Note: Here, there is a possibility to get a duplicate numbers in the list.

import random
rand_List = []
# Setting the length of the list as 5
for i in range(0, 5):
   # random number between 25.25 and 125.45
   res = round(random.uniform(25.25, 125.45), 4)
   rand_List.append(res)
print('The random float list is:',rand_List)

While executing the above code we get the following output −

The random float list is: [108.2198, 59.591, 109.8726, 91.4924, 103.0854]

Example

In here, the SystemRandom() method is used for generating a secure random float number. To prevent two processes from getting the same number at the same moment, the cryptographically secure random generator uses synchronisation techniques to generate random numbers. You must employ this approach if you are generating random floats for a security-sensitive application.

import random
sec_rand = random.SystemRandom()
rand_float = sec_rand.random()
print('The random number is:',rand_float)
rand_float = sec_rand.uniform(20.23,21.23)
print('The uniform random number is:',rand_float)

Output of the above code is as follows −

The random number is: 0.3071523248544521
The uniform random number is: 20.419234861655998

Example

Below is an example that provides the heights climbed by different mountain climbers. Also, the range of height to be eligible to get the conqueror trophy is specified. Then by subtracting the eligible height by the climber's height, the closest height is noted. Thereafter, the name of the conqueror is announced.

# importing the modules
import random
import math
# initializing conqueror height
Ajay = 65.5
Ashu = 53.0
Abhishek = 95.5
# generating the conqueror random number
conqueror = random.uniform(90, 100)
# finding the closest 
difference1 = math.fabs(conqueror - Ajay)
print ('difference1: ',difference1)
difference2 = math.fabs(conqueror - Ashu)
print ('difference2: ',difference2)
difference3 = math.fabs(conqueror - Abhishek)
print ('difference3: ',difference3)
# printing the conqueror name
if(difference1 < difference2 and difference1 < difference3):
	print("The conqueror is: ", end = "Ajay")
if(difference2 < difference3 and difference2 < difference1):
	print("The conqueror is: ", end = "Ashu")
if(difference3 < difference2 and difference3 < difference1):
	print("The conqueror is: ", end = "Abhishek")

Following is an output of the above code −

difference1:  26.85898625788964
difference2:  39.35898625788964
difference3:  3.14101374211036
The conqueror is: Abhishek
python_numbers.htm
Advertisements