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
python_modules.htm
广告