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
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
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
difference2: 39.35898625788964
difference3: 3.14101374211036
The conqueror is: Abhishek