Python random.uniform() 方法



Python random.uniform() 方法用于检索随机浮点数。此数字大于或等于给定的上限,并且小于或等于给定的下限。

这个函数不能直接访问,所以我们需要导入 random 模块,然后我们需要使用 random 静态对象调用这个函数。

语法

以下是 Python random.uniform() 方法的语法 -


 random.uniform(x, y)

参数

以下是此方法的参数 -

  • x − 设置随机浮点数的下限。
  • y − 设置随机浮点数的上限。

返回值

此方法返回浮点数。

示例 1

以下示例显示了 Python random.uniform() 方法的用法。此处,正上限和下限作为参数传递给方法。


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

让我们运行上面的程序,这将产生以下结果——

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

示例 2

在下面给出的示例中,我们将创建一个包含 5 个随机浮点数的列表。这些数字的范围在 25.25 到 125.45 之间。round 方法用于将小数点数字四舍五入到 4 位。

注意:在这里,有可能在列表中获取重复的数字。


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)

在执行上述代码时,我们得到以下输出 -

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

示例 3

在这里,SystemRandom() 方法用于生成一个安全的随机浮点数。为了防止两个进程同时获得相同的数字,加密安全的随机生成器使用同步技术来生成随机数。如果要为安全敏感的应用程序生成随机浮点数,则必须采用此方法。


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)

上述代码的输出如下 -

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

示例 4

下面是一个示例,提供了不同登山者攀登的高度。此外,还指定了有资格获得征服者奖杯的身高范围。然后,通过将符合条件的高度减去登山者的身高,可以记录到最近的高度。此后,宣布征服者的名字。


# 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")

以下是上述代码的输出 -

difference1: 26.85898625788964
difference2: 39.35898625788964
difference3: 3.14101374211036
The conqueror is: Abhishek